如何在jquery中动态地将分隔符放在数组中?

时间:2016-02-11 16:10:29

标签: javascript jquery arrays javascript-objects

我是新来的,所以我仍然想要抓住一些东西。 如何动态添加分隔符,如" |"在jquery中的数组中的每3个元素后,我可以爆炸数组并使用不同的结果数组? 我有

var items = {"010","Electronics","344","tv","car","truck"};

我想要

var items = {"010,Electronics,344|tv,car,truck"}

数组可能会变大,所以我希望能够动态计算添加" |"经过3个元素。 非常感谢。

2 个答案:

答案 0 :(得分:2)

使用reduce的快速方法:

function join(arr) {
  return [arr.reduce(function(p, c, i) {
    if (i % 3 === 0) p.push([]);
    p[p.length - 1].push(c || ' ');
    return p;
  }, []).join('|')];
}

join(items); // [ "010,Electronics,344|tv,car,truck" ]

DEMO

答案 1 :(得分:0)

我不确定这是否是你想做的事

function foo(items, delimiter, everyX){
    var result = "";
    for(var i=0; i<items.length; i++){
        if(i == items.length-1){
            result += items[i]
        }else{
            if( (i+1) % everyX == 0 ){
                result += items[i] + delimiter;
            }else{
                result += items[i] + ",";
            }
        }
    }
    return result;
}




var items = ["010","Electronics","344","tv","car","truck"];
foo(items, "|", 3);

结果:

"010,Electronics,344|tv,car,truck"