Как положить sh два массива (имеющих json объектов) в новый массив - PullRequest
0 голосов
/ 12 февраля 2020

Я хочу эти два массива в новый массив, а затем я хочу напечатать окончательный массив вместе со всеми 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;
}```


Ответы [ 2 ]

2 голосов
/ 12 февраля 2020

Вы можете использовать оператор распространения (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);

Если вы хотите поместить sh все значения в первый массив (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);
1 голос
/ 18 февраля 2020

Вы можете использовать этот трюк

         z.push(...y);

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