Доступ к элементам массива в Javascript - PullRequest
0 голосов
/ 02 апреля 2019

У меня есть массив, в котором содержимое выталкивается из ответа json.Теперь мне нужно проверить и восстановить имена жизненно важных органов, которые являются истинными, не зная жизненного имени.Любая идея о том, как получить доступ к элементам массива, чтобы найти, что жизненно важно, является истинной, была бы действительно полезной

var json_data = {
  "Blood Pressure": true,
  "Body Composition": true,
  "ECG": true,
  "SPO2": false,
  "Weight Scale": true,
  "temp": true
};
var hardwarelist = [];

for (var i in json_data) {
  hardwarelist.push([i, json_data[i]]);
}

var vitalflow = ["BP", "Weight", "BMC", "ECG", "Spo2", "Thermometer"];

for (var i = 0; i < vitalflow.length; i++) {
  //console.log(vitalflow[i]);
}

function hardwareavailability(hardwarelistarr, vitalflowarr) {
  var hardwarelistarray = new Array();
  hardwarelistarray = hardwarelistarr;

  var flowarray = new Array();
  flowarray = vitalflowarr;

  if (hardwarelistarray[0]) {
    window.location.href = "#/about";
  }
}
hardwareavailability(hardwarelist, vitalflow);

Ответы [ 2 ]

3 голосов
/ 02 апреля 2019

Используйте filter, чтобы получить нужные элементы, затем map имена:

var json_data = {
  "Blood Pressure": true,
  "Body Composition": true,
  "ECG": true,
  "SPO2": false,
  "Weight Scale": true,
  "temp": true
};
var hardwarelist = [];

for (var i in json_data) {
  hardwarelist.push([i, json_data[i]]);
}

var trueVitals = hardwarelist.filter(([, e]) => e).map(([e]) => e);
console.log(trueVitals);

Синтаксис ES5:

var json_data = {
  "Blood Pressure": true,
  "Body Composition": true,
  "ECG": true,
  "SPO2": false,
  "Weight Scale": true,
  "temp": true
};
var hardwarelist = [];

for (var i in json_data) {
  hardwarelist.push([i, json_data[i]]);
}

var trueVitals = hardwarelist.filter(function(e) {
  return e[1];
}).map(function(e) {
  return e[0];
});
console.log(trueVitals);
0 голосов
/ 02 апреля 2019

Использовать фильтр .

var json_data = {
  "Blood Pressure": true,
  "Body Composition": true,
  "ECG": true,
  "SPO2": false,
  "Weight Scale": true,
  "temp": true
};
var hardwarelist = [];
for (var i in json_data) {
  hardwarelist.push([i, json_data[i]]);
}
console.log(hardwarelist.filter(h => h[1]))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...