如何将两个数组(具有 json 对象)推送到一个新的数组中



我想把这两个数组放到一个新的数组中,然后我想打印最终的数组和所有json对象。

var z = [{
"appId": "1",
"appName": "CapLogix",
"envId": "970",
"envName": "UAT4"
}, {
"appId": "73",
"appName": "ConfigBuilder",
"envId": "971",
"envName": "UAT4"
}];
var y = [{
"appId": "1",
"appName": "CapLogix",
"envId": "959",
"envName": "SIT-4"
}, {
"appId": "73",
"appName": "ConfigBuilder",
"envId": "963",
"envName": "SIT-4"
}];
这就是我到目前为止尝试过的

z.push(y);
for (var i=0 ; i<=z.length;i++)
{
document.getElementById("sa").innerHTML+="appId  :"  + z[i].appId + "<br>" + " appName  : "+ z[i].appName + "<br>" + "envId  :"  + z[i].envId + "<br>" + " envName  : "+ z[i].envName;
}```

您可以使用点差运算符(ES6(,这将点差所有 将数组的项目放入新数组中 示例如下

const z = [{
"appId": "1",
"appName": "CapLogix",
"envId": "970",
"envName": "UAT4"
}, {
"appId": "73",
"appName": "ConfigBuilder",
"envId": "971",
"envName": "UAT4"
}];
const y = [{
"appId": "1",
"appName": "CapLogix",
"envId": "959",
"envName": "SIT-4"
}, {
"appId": "73",
"appName": "ConfigBuilder",
"envId": "963",
"envName": "SIT-4"
}];
const finalArray = [...z, ...y];
console.log(finalArray);

如果要将所有值推入第一个数组(z(,可以执行以下操作

z.push(...y);
console.log(z);

所以你最终会得到包含两个数组的所有项目的z

编辑

您可以使用filter来过滤项目并获取新数组,以获取 包含 appName 的数组项:"CapLogix">(下面的示例(

合并数组后,您可以对其应用过滤器。

const z = [{
"appId": "1",
"appName": "CapLogix",
"envId": "970",
"envName": "UAT4"
}, {
"appId": "73",
"appName": "ConfigBuilder",
"envId": "971",
"envName": "UAT4"
}];
const y = [{
"appId": "1",
"appName": "CapLogix",
"envId": "959",
"envName": "SIT-4"
}, {
"appId": "73",
"appName": "ConfigBuilder",
"envId": "963",
"envName": "SIT-4"
}];
z.push(...y);
const filteredArray = z.filter(each => each.appName == 'CapLogix');
console.log(filteredArray);

你可以使用这个技巧

z.push(...y);
const filteredArray = z.filter(each => each.appName == 'CapLogix');
console.log(filteredArray);