繁体   English   中英

如何在 javascript 中的一个数组中合并另一个数组对象中的数组

[英]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。 具有有用实用程序的库。

https://lodash.com/docs/4.17.15#flatten

有两个 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM