![](/img/trans.png)
[英]In JavaScript, how do I merge an array of objects with another array of objects?
[英]how to merge array inside another array objects in one array in javascript
我希望将数组合并到 javascript 中一个数组中的另一个数组对象中。 我尝试了很多方法,如 concat 和 join 方法,但我无法得到它我在数组下面有数组,我需要合并到一个数组中
arr = [
[{
PRODUCE: 'Apple',
STATE: 'CA',
COUNTRY: 'US'
},
{
PRODUCE: 'Apple',
STATE: 'CA',
COUNTRY: 'US'
}
],
[{
PRODUCE: 'Apple',
STATE: 'CP',
COUNTRY: 'US'
}]
]
我想要的结果如下
[
{
PRODUCE: 'Apple',
STATE: 'CA',
COUNTRY: 'US'
},
{
PRODUCE: 'Apple',
STATE: 'CA',
COUNTRY: 'US'
},
{
PRODUCE: 'Apple',
STATE: 'CP',
COUNTRY: 'US'
}
]
您可以为此使用flat()
flat() 方法创建一个新数组,其中所有子数组元素递归连接到指定深度。
在这里你可以阅读更多关于它的信息
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flat
const arr = [ [{ PRODUCE: 'Apple', STATE: 'CA', COUNTRY: 'US' }, { PRODUCE: 'Apple', STATE: 'CA', COUNTRY: 'US' } ], [{ PRODUCE: 'Apple', STATE: 'CP', COUNTRY: 'US' }] ] console.log(arr.flat());
您可以使用Array.flat()
。
var newArray = arr.flat([深度]);
const arr = [ [{ PRODUCE: 'Apple', STATE: 'CA', COUNTRY: 'US' }, { PRODUCE: 'Apple', STATE: 'CA', COUNTRY: 'US' } ], [{ PRODUCE: 'Apple', STATE: 'CP', COUNTRY: 'US' }] ] console.log(arr.flat())
如果您能够使用现代 javascript,您可以尝试:
arr.flat()
更多信息在这里: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flat
如果没有,您可以只使用 lodash、下划线或 ramda。 具有有用实用程序的库。
有两个 flat() 答案,但是您为 concat() 尝试的替代代码,您可以这样尝试:
var arr = [ [{ PRODUCE: 'Apple', STATE: 'CA', COUNTRY: 'US' }, { PRODUCE: 'Apple', STATE: 'CA', COUNTRY: 'US' } ], [{ PRODUCE: 'Apple', STATE: 'CP', COUNTRY: 'US' }] ] var newArray = arr[1].concat(arr[0]); console.log(newArray);
简单的方法,使用扩展运算符和 forEach 循环
const arr = [ [{ PRODUCE: 'Apple', STATE: 'CA', COUNTRY: 'US' }, { PRODUCE: 'Apple', STATE: 'CA', COUNTRY: 'US' } ], [{ PRODUCE: 'Apple', STATE: 'CP', COUNTRY: 'US' }] ] let result = []; arr.forEach((item)=>{ if(Array.isArray(item)){ result = [...result,...item] } else{ result = [...result,item] } } ) console.log(result)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.