鍍金池/ 問答/HTML/ 大家好,請問數(shù)據(jù)太多非??D,這段js代碼如何優(yōu)化

大家好,請問數(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>
                    
                    代碼是:讓一個tab分割的矩陣去掉兩側的空格### 問題描述

問題出現(xiàn)的環(huá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ù)的調用次數(shù)和dom的頻繁操作, 能簡單了就別搞太復雜。

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

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

2017年10月4日 14:02