在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 大家好,請(qǐng)問數(shù)據(jù)太多非常卡頓,這段js代碼如何優(yōu)化

大家好,請(qǐng)問數(shù)據(jù)太多非??D,這段js代碼如何優(yōu)化

                    <script>
                        function takeout(th) {
                            var text2 = $('textarea').val();
                            var allcon2 = text2.split("\n");
                            $(th).val('');
                            for (var i = 0; i < allcon2.length; i++) {
                                a = allcon2[i].split('\t');
                                var ha = a.join("\t");
                                $(th).val($(th).val() + $.trim(ha) + '\n');
                            }
                            return true;}
                    </script>
                    
                    代碼是:讓一個(gè)tab分割的矩陣去掉兩側(cè)的空格### 問題描述

問題出現(xiàn)的環(huán)境背景及自己嘗試過哪些方法

相關(guān)代碼

// 請(qǐng)把代碼文本粘貼到下方(請(qǐng)勿用圖片代替代碼)

你期待的結(jié)果是什么?實(shí)際看到的錯(cuò)誤信息又是什么?

回答
編輯回答
荒城

隨便看了看,雖然不太明白題主的意圖,但是看此代碼,過于啰嗦,請(qǐng)參考一下代碼改進(jìn):

function takeout(th) {
      var text2 = $('textarea').val();
      var allcon2 = text2.split("\n");
      var str = '';
      for (var i = 0, len = allcon2.length; i < len; i++) {
        // 這兩句代碼有何用???
        // a = allcon2[i].split('\t');
        // var ha = a.join("\t");

        // $(th).val($(th).val() + $.trim(ha) + '\n');
        
        str += allcon2[i].replace(/(^\s*)|(\s*$)/g, "") + '\n'
      }
      $(th).val(str)
}

盡量減少函數(shù)的調(diào)用次數(shù)和dom的頻繁操作, 能簡(jiǎn)單了就別搞太復(fù)雜。

2018年5月29日 01:41
編輯回答
神經(jīng)質(zhì)

首先,不要在循環(huán)里邊操作dom,把內(nèi)容用字符串拼接好了再渲染到頁面上去,另外,可以使用正則表達(dá)式直接去掉空格,不需要自己進(jìn)行循環(huán)的盡量不要自己做,請(qǐng)題主舉個(gè)矩陣的例子。

2017年10月4日 14:02