如何在JavaScript/ReactJS中合并不同格式的两个数组?
合并不同格式的数组
你的代码问题出在array2.title这部分——array2是数组,不是单个对象,根本没有title属性。要合并这两个数组,得先把array2里每个对象的title值提取出来,再和array1合并。
正确实现代码
const array1 = [ "value one", "value two" ] const array2 = [ { "title": "title one", }, { "title": "title two", } ] // 先把array2转成纯字符串数组,再和array1合并 const finalArray = [...array1, ...array2.map(item => item.title)] console.log(finalArray); // 输出结果:["value one", "value two", "title one", "title two"]
其他可选方法
- 用
concat替代展开运算符,效果完全一致:const finalArray = array1.concat(array2.map(item => item.title))
核心逻辑就是:先通过map遍历array2,把每个对象转换成对应的title字符串,得到一个和array1格式一致的数组,再用展开运算符或者concat把两个数组合并成一个新数组。
内容的提问来源于stack exchange,提问作者Rohit Verma
相关产品推荐
相关产品推荐

