React JS中如何将嵌套数组内的set对象复制到新数组
问题描述
我有一个包含嵌套对象的大型数组,数组中的每个对象都包含一个名为set的对象,示例如下:
const arr1 = [ { id: 1, subject: 'Subject', set: { title: 'Title', subTitle1: 'SubTitle', subTitle2: 'SubTitle', }, }, { id: 2, subject: 'Subject', set: { title: 'Title', subTitle1: 'SubTitle', subTitle2: 'SubTitle', }, }, ]
希望将arr1中每个set对象的内容提取到arr2中,预期效果如下:
const arr2 = [ { title: 'Title', subTitle1: 'SubTitle', subTitle2: 'SubTitle', }, { title: 'Title', subTitle1: 'SubTitle', subTitle2: 'SubTitle', }, ]
解决方案
可以使用JavaScript的Array.prototype.map()方法直接提取每个元素的set属性,这是处理这类数组转换最简洁高效的方式:
const arr2 = arr1.map(item => item.set);
补充说明
map()方法会遍历数组的每一项,对每个元素执行传入的回调函数,最终返回一个由回调函数返回值组成的新数组- 如果数组中存在某个元素没有
set属性,可以添加判断避免报错:
const arr2 = arr1.map(item => item?.set || {});
这里使用了可选链操作符?.和逻辑或||,确保即使元素没有set属性,也会返回一个空对象而非undefined
内容的提问来源于stack exchange,提问作者shalunts
相关产品推荐
相关产品推荐

