如果两个数组嵌套,并且需要使用map来获取第二个数组中的对象,可以使用map的回调函数中的第二个参数来获取当前元素的索引值。然后可以在回调函数中根据索引值进行判断,如果索引值小于第一个数组的长度,则从第一个数组中获取对应的元素,否则从第二个数组中获取对应的元素。这样就可以避免数据的覆盖。

以下是一个示例代码:

const array1 = [1, 2, 3];
const array2 = [{ name: 'Alice' }, { name: 'Bob' }, { name: 'Charlie' }];

const result = array2.map((item, index) => {
  if (index < array1.length) {
    return {
      ...item,
      value: array1[index]
    };
  } else {
    return item;
  }
});

console.log(result);

该示例中,array1和array2分别是两个嵌套数组,array2中的每个对象都需要添加一个value属性,值是根据array1对应位置的元素来确定。通过map方法遍历array2,使用回调函数中的index参数来判断当前元素的位置,如果index小于array1的长度,则添加value属性,并将对应位置的array1元素赋值给value属性。否则,直接返回原对象。最后输出结果为:

[
  { name: 'Alice', value: 1 },
  { name: 'Bob', value: 2 },
  { name: 'Charlie', value: 3 }
]

可以看到,array2中的每个对象都添加了value属性,且值是根据array1对应位置的元素来确定的

两个数组嵌套map拿到第二个数组里的对象如何使数据不覆盖

原文地址: https://www.cveoy.top/t/topic/hAMj 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录