const arr = [1, 'a', {name: 'b'}, [1, 2, 3]];
const result = arr.reduce((acc, curr) => {
if (typeof curr === 'number') {
acc.numbers.push(curr);
} else if (typeof curr === 'string') {
acc.strings.push(curr);
} else if (typeof curr === 'object' && curr !== null) {
acc.objects.push(curr);
} else if (Array.isArray(curr)) {
acc.arrays.push(curr);
}
return acc;
}, {});
console.log(result); // 输出:{numbers: [1, 1, 2, 3], strings: ['a'], objects: [{name: 'b'}], arrays: [[1, 2, 3]]}
这段代码展示了如何使用JavaScript的reduce方法对数组中的元素进行分类,分别将数字、字符串、对象和数组存储到不同的属性中。最终输出的对象包含numbers、strings、objects和arrays四个属性,分别对应不同类型的元素集合。

被折叠的 条评论
为什么被折叠?



