Javascript 将双数组对象转换为单数组对象

Javascript 将双数组对象转换为单数组对象,javascript,arrays,object,each,Javascript,Arrays,Object,Each,我有一个具有以下值的对象: "Obj": { "value1": [], "value2": [ "1", "2", "3", "4" ] } 如果我检查我的obj,我可以看到它的大小等于2。这当然有道理,因为这里有两个数组。但问题是,我需要它只有一个数组。我的意思是:我想把这两个数组转换成一个数组 已经用一些方法尝试了一段时间。他们都没有预期的行为 例如: var arr = []; arr = [sRo

我有一个具有以下值的对象:

"Obj": {
    "value1": [],
    "value2": [
        "1",
        "2",
        "3",
        "4"
    ]
}
如果我检查我的obj,我可以看到它的大小等于2。这当然有道理,因为这里有两个数组。但问题是,我需要它只有一个数组。我的意思是:我想把这两个数组转换成一个数组

已经用一些方法尝试了一段时间。他们都没有预期的行为

例如:

var arr = [];
arr = [sRows.value1, sRows.value2]
或:

有什么想法吗?

怎么样

concat()方法用于合并两个或多个数组。这种方法 不更改现有数组,而是返回一个新数组


此函数将对象转换为单个数组:

function convertArraysToArray(obj) {
    var output = [];
    for (var key in obj) {
        if (Array.isArray(obj[key])) {
            for (var index = 0; index < obj[key].length; index++) {
                output.push(obj[key][index]);
            }
        } else {
            output.push(obj[key]);
        }
    }
    return output;
}
函数转换器阵列阵列阵列(obj){
var输出=[];
for(obj中的var键){
if(Array.isArray(obj[key])){
对于(var index=0;index

如果你想让它成为一个对象的单个元素,你也可以很容易地实现。

不确定你想如何组合你的数组(你不说),但我的玻璃球告诉我可能就是你要搜索的。总是只有两个值吗?这些值总是数组吗?您希望如何转换(value1后跟value2,反之亦然,没有重复项…)?始终是两个数组,而不是特定的顺序。是的,没有重复。在上面的示例中,您期望的
Obj
大小的正确值是多少?5.或4?不能使用concat,因为第一个数组的值是空对象。这不重要:你能澄清你的意思吗?当然。当我这样做时,结果值是:(4)[“1”,“2”,“3”,“4”]。因此,它用每个值“value1”创建4个不同的元素,并忽略“value2”。那么就不能按预期工作了。在您的示例中,value1是一个空数组。空数组没有要复制的内容,因此不会复制任何内容。这与您的期望有什么不同?(我假设你在评论中无意中写下了value2,而你的意思是value1)是的,对不起。这就是我的意思。实际问题是我首先指出的:“它返回一个数组。长度为“4”。
let new_array = sRows.value1.concat(sRows.value2);
function convertArraysToArray(obj) {
    var output = [];
    for (var key in obj) {
        if (Array.isArray(obj[key])) {
            for (var index = 0; index < obj[key].length; index++) {
                output.push(obj[key][index]);
            }
        } else {
            output.push(obj[key]);
        }
    }
    return output;
}