如何使用reduce进行数组切片组合

时间:2018-04-12 09:19:57

标签: javascript arrays reduce

实际上我在正常情况下实现了这种格式,但我尝试使用javascript中的reduce方法。我想要x变量

的格式
// Display all class property list
address: String = ''
number: String = ''
houseNo: String = ''
licenceNo: String = ''

输出:

format: 

    [[1,1,1], [ 1, 1, 0 ],
      [ 1, 0, 0 ],
      [ 0, 0, 0 ]];


var x = [1,1,1,0,0,0];


var y = [];
y = x.reduce((data,val,i,arr)=>{
    console.log(data.length,i);
     i%2==0 ? data.push(arr.slice(i,i+3)):data.push(arr.slice(i,i+3));
console.log(data);
return data;
    },[]);

 console.log("check y",y);

1 个答案:

答案 0 :(得分:2)

您可以生成一个新数组,并通过切片给定数组来映射这些部分。



var x = [1, 1, 1, 0, 0, 0],
    size = 3,
    result = Array.from(
        { length: x.length - size + 1 },
        (_, i) => x.slice(i, i + size)
    );
    
console.log(result);