var arr=[
[11,12,13,"内容","内容2"],
[21,22,23,"内容","内容2"],
[31,32,33,"内容","内容2"]
];
var arr2=[
[11,12,13],
[21,22,23],
[31,32,33]
];
想向各位大佬求一个简单的方法,arr的每一项截取前三位得到的结果如arr2
想到的方法只有自己新建一个空数组,处理数据之后,放到arr2中
var arr=[
[11,12,13,"内容","内容2"],
[21,22,23,"内容","内容2"],
[31,32,33,"内容","内容2"]
];
var arr2=[
[11,12,13],
[21,22,23],
[31,32,33]
];
想向各位大佬求一个简单的方法,arr的每一项截取前三位得到的结果如arr2
想到的方法只有自己新建一个空数组,处理数据之后,放到arr2中
arr.forEach(value => {
value.splice(3);
});
这样是直接修改原来的arr
let arr2 = arr.map(value => {
return value.slice(0,3);
});
这样既不更改原来的数组,新数组是满足要求的
这种一一映射的数据处理,可以使用 map,处理数据的逻辑放到 map 的回调函数中就好了,比如:
arr2 = arr.map(function(e){
return e.slice(0, 3)
})
这样写,不仅逻辑清晰,可读性高,而且始终返回新的数组,不会修改旧的数组,所以具有纯函数的特性。
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决