如何合并两个JSON数组类型的const变量?
正确的JavaScript数组合并方法
你用const joinsection = sections1 + sections2合并失败,是因为在JavaScript里,数组使用+运算符时会被自动转换为字符串进行拼接,最终得到的是类似"[object Object][object Object]"的字符串,而不是你想要的合并后的数组。下面是几种可行的合并方式:
1. 扩展运算符(推荐,写法简洁)
const joinsection = [...sections1, ...sections2];
扩展运算符...会把两个数组的元素分别展开,然后组合成一个新数组,原数组sections1和sections2不会被修改。
2. concat()方法
const joinsection = sections1.concat(sections2);
concat()方法会返回一个新数组,包含sections1和sections2的所有元素,同样不会改变原数组。如果需要合并多个数组,还可以写成sections1.concat(sections2, sections3, ...)。
3. 直接修改原数组(如果不需要保留原数组)
如果你不需要保留sections1的原内容,可以用push()结合扩展运算符,把sections2的元素直接添加到sections1末尾:
sections1.push(...sections2); // 此时sections1就是合并后的数组
注意:以上方法都是浅合并,如果数组中的元素是对象,修改合并后数组里的对象属性时,原数组中的对应对象也会被修改(因为它们指向同一个内存地址)。如果需要深合并,还需要额外处理,但你的场景里应该用不到。
内容的提问来源于stack exchange,提问作者Cole
相关产品推荐
相关产品推荐

