gpt4 book ai didi

javascript - 使用 jQuery 或 underscore.js 合并对象中多个数组的值

转载 作者:行者123 更新时间:2023-11-30 06:58:21 36 4
gpt4 key购买 nike

我想将一个对象中的多个数组的值合并到一个数组中。例如:

Object:
- alpha: Array[3]
0: "vatG4d6mcjKbpfuAm"
1: "xkQrKEsfwuYPkDcdz"
2: "GDg9chZnDGrbLXWGS"
- bravo: Array[1]
0: "53LEcQ5MoYXFyvktf"
- …

结果应该是:

["vatG4d6mcjKbpfuAm", "xkQrKEsfwuYPkDcdz", "GDg9chZnDGrbLXWGS", "53LEcQ5MoYXFyvktf"]

我用一个简单的 for 循环遍历元素来做到这一点,但我担心性能。这可以通过简单的 jQuery 或 underscore.js 函数实现吗?

如有任何帮助,我们将不胜感激。

最佳答案

不需要为此使用库。

对于两个数组,使用 concat :

var arr = obj.alpha.concat(obj.bravo);

对于两个以上的数组使用循环:

再次使用concat

var arr = [];
for (var k in obj) {
arr = arr.concat(obj[k]);
}

或者使用push.apply方法

var arr = [];
for (var k in obj) {
arr.push.apply(arr, obj[k]);
}

DEMO

使用这些信息创建一个函数,这样您就不需要重复代码:

function mergeObjectArrays(obj) {
var arr = [];
for (var k in obj) {
arr.push.apply(arr, obj[k]);
}
return arr;
}

var arr = mergeObjectArrays(obj);

关于javascript - 使用 jQuery 或 underscore.js 合并对象中多个数组的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25805148/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com