Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中从数组数组中连接和拆分元素_Javascript_Google Sheets - Fatal编程技术网

在javascript中从数组数组中连接和拆分元素

在javascript中从数组数组中连接和拆分元素,javascript,google-sheets,Javascript,Google Sheets,因此,我正在缓慢但肯定地学习JavaScript,有人能帮我找出对非常大的数组使用join()和split()的最有效方法吗?我说的是电子表格上的几千行。。。这就是我目前所拥有的 函数joinsplitPaste(){ var数据=[“迈克”、“33”、“KS”、“男性”]、[“简”、“32”、“KS”、“女性”]、[“戴夫”、“33”、“KS”、“男性”]、[“迈克”、“33”、“KS”、“男性”]、[“斯坦”、“31”、“KS”、“男性”]、[“贝思”、“19”、“数据文本”、“KS”、“

因此,我正在缓慢但肯定地学习JavaScript,有人能帮我找出对非常大的数组使用
join()
split()
的最有效方法吗?我说的是电子表格上的几千行。。。这就是我目前所拥有的

函数joinsplitPaste(){
var数据=[“迈克”、“33”、“KS”、“男性”]、[“简”、“32”、“KS”、“女性”]、[“戴夫”、“33”、“KS”、“男性”]、[“迈克”、“33”、“KS”、“男性”]、[“斯坦”、“31”、“KS”、“男性”]、[“贝思”、“19”、“数据文本”、“KS”、“女性”];
var dataJoin=[];
//样品已制成

对于(i=0;i基于示例代码中的最后一条注释,我假设您追求的最终目标是“dataSplit”数组应该等于原始的“data”数组

但是,示例代码存在两个问题,您无法实现自己的愿望:

  • “for”循环中存在“return”语句:它在第一次迭代之后立即停止第一个循环的执行,甚至阻止第二个循环开始

  • 相等检查不适用于非基本数据类型:javascript中的数组和对象数据类型是非基本数据类型,相等检查不适用于它们,除非两个操作数确实指向内存中的同一位置

  • 例如:{}=={}//false(两个对象,无论多么相同,都指向两个不同的内存位置,因此它们永远不会“相等”)

    类似地,[1,2,3]==[1,2,3]//false(原因与对象相同)

    关于示例代码,我为您提供了一个修订版,用于生成与原始“data”数组相同但不相等的“dataSplit”数组,因为它们是两个不同的变量,因此内存位置不同。但是,使用join和split是正确的。修订版示例:

    function joinsplitPaste(){
      var data = [["mike",33,,"KS","male"],["jan",32," ","KS","female"],["dave",33,,"KS","male"],["mike",33, ,"KS","male"],["stan",31,,"KS","male"],["beth",19,"dataText","KS","female"]];
      var dataJoin = [];
      for (i = 0;i<data.length;i++){
        dataJoin.push(data[i].join(" ")) ;
      }
      var dataSplit = [];
      for (i = 0;i<data.length;i++){
        dataSplit.push(dataJoin[i].split(" ")) ;
      }
    }
    
    函数joinsplitPaste(){
    var数据=[“迈克”、“33”、“KS”、“男性”]、[“简”、“32”、“KS”、“女性”]、[“戴夫”、“33”、“KS”、“男性”]、[“迈克”、“33”、“KS”、“男性”]、[“斯坦”、“31”、“KS”、“男性”]、[“贝思”、“19”、“数据文本”、“KS”、“女性”];
    var dataJoin=[];
    
    for(i=0;我能解释一下你想实现什么而不是你想要什么吗?给我们看看你的instead输出。为什么你在for循环中有返回?