我有以下数组结构: const mockData = [ { text: 'Text1', data: [ { field: '1' }, { field: '2' }, { field: '3' }, { field: '4' }, { field: '5' }, { field: '6' } ] }, { text: 'Text1', data: [ { field: '1' }, { field: '2' }, { field: '3' }, { field: '4' }, ] } ];我需要splice(0, 3)一个嵌套data数组。到目前为止,这是我尝试过的,但我需要使用 sliced 获得与输入数组相同的输出data: const mockData = [ { text: 'Text1', data: [ { field: '1' }, { field: '2' }, { field: '3' }, { field: '4' }, { field: '5' }, { field: '6' } ] }, { text: 'Text1', data: [ { field: '1' }, { field: '2' }, { field: '3' }, { field: '4' }, ] } ];const slicedArray = mockData.reduce((accumulator, arr) => { const spliceData = arr.data.splice(0, 3); accumulator.push(spliceData); return accumulator;}, []);console.log(slicedArray)实现它的最简单方法是什么?谢谢!
1 回答
慕慕森
TA贡献1856条经验 获得超17个赞
您可以使用数组.map()方法:
const mockData = [{text:"Text1",data:[{field:"1"},{field:"2"},{field:"3"},{field:"4"},{field:"5"},{field:"6"}]},{text:"Text1",data:[{field:"1"},{field:"2"},{field:"3"},{field:"4"}]}];
const slicedArray = mockData.map(d => ({...d, data: d.data.slice(0, 3)}))
console.log(slicedArray)
添加回答
举报
0/150
提交
取消