Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.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 - Fatal编程技术网

JavaScript数组在索引处拆分

JavaScript数组在索引处拆分,javascript,Javascript,我有这样一个数组: var arr = ['Number 1', 'name', 'Number 2', 'name'] 如何从该数组中获取如下所示的字符串: var str = 'Number 1: name, Number 2: name' 你可以通过 var arr = ['Number 1', 'name', 'Number 2', 'name'],res =""; for(var i=0,len=arr.length;i<len;i+=2){ res += arr[i]

我有这样一个数组:

var arr = ['Number 1', 'name', 'Number 2', 'name']
如何从该数组中获取如下所示的字符串:

var str = 'Number 1: name, Number 2: name'
你可以通过

var arr = ['Number 1', 'name', 'Number 2', 'name'],res ="";
for(var i=0,len=arr.length;i<len;i+=2){
  res += arr[i] + ":" + arr[i+1] + ((i+2 != len) ? "," : "");
}
将for循环的步骤设置为2。在迭代过程中,获取与当前索引和当前索引+1相关的数组值。通过指定分隔符将其连接为:。你的工作完成了


为此,您可能需要Arrayreduce,请参见注释:

//阵列 var arr=['Number 1'、'name'、'Number 2'、'name'] //不使用分隔符开始 delim变量=; //Arrayreduce为每个条目调用一次回调,并传入 //累加器作为第一个参数,条目作为第二个参数 var str=arr.reducefunctionacc,条目{ //将此条目添加到累加器中 acc+=delim+入口; //在和之间切换:作为我们第一次拥有的熟食店 //,这意味着我们将切换到: delim=delim==,?:; //返回delim的新值 返回acc; }, ; //^^——累加器的初始值为空 document.body.innerHTML= 您可以使用.join with.replace:

    var str = "";
    var arr = ['Number 1', 'name', 'Number 2', 'name'];
    var i=0;
    while(i<arr.length)
   {

   str += i==0 ? "" : ","
    str+=arr[i];
    i++;
    str+=":";
    str+=arr[i];

   }
var arr=['Number 1','name','Number 2','name']; var s=arr.join','.replace/\d+/g',$1:'.replace/:,/g',:';
document.write此代码将根据需要为您提供正确的输出->


当存在另一个解决方案时,不应该使用字符串连接,因为它可读性较差,而且更难维护

var arr=['Number 1','name','Number 2','name']; var str=Array.from{length:arr.length/2}.map=>arr.spitche0,2.join':'.join',';
document.body.innerHTML=`@尼娜:是的-@夸拉兹拉:np。我在最后添加了一个备选方案:-这个答案也是一个不错的选择!我没有标记,因为TJ提供了多种options@quarrazzella是 啊你可以自由接受你想要的任何东西
    var str = "";
    var arr = ['Number 1', 'name', 'Number 2', 'name'];
    var i=0;
    while(i<arr.length)
   {

   str += i==0 ? "" : ","
    str+=arr[i];
    i++;
    str+=":";
    str+=arr[i];

   }