将两个数组对象转换为一个数组对象

时间:2018-06-14 17:30:13

标签: javascript arrays object each

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

"Obj": {
    "value1": [],
    "value2": [
        "1",
        "2",
        "3",
        "4"
    ]
}

如果我检查我的obj,我可以看到它的大小等于2.这是有道理的,当然,因为我在这里有两个数组。但问题是,我需要它只有一个数组。我的意思是:我想将这两个数组转换成一个数组。

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

例如:

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

或者:

$.each(sRows, function(k,v){
    result[i] = v;
})

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

Array.prototype.concat()怎么样?

builder.Entity<User>().OwnsOne(e => e.EmailPermissions).HasData(
    new
    {
        UserId = "37846734-172e-4149-8cec-6f43d1eb3f60",
        // other properties ...
    }
);
  

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

答案 1 :(得分:0)

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

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;
}

如果您打算将其作为对象的单个元素,您也可以轻松实现。