如何循环遍历数组并查找if键

How to loop through array and find if key

本文关键字:数组 查找 if 遍历 何循环 循环      更新时间:2023-09-26

所以基本上我想循环通过一个错误(我已经做了)并打印另一个密钥

var planet = "sun";
var planets = [{
    type: "sun",
    desc: "sun"
}, {
    type: "moon",
    desc: "moon"
}];
var pln = planets.length; 
for (var i = 0; i < pln; i++) {
    console.log(planets[i]);
}

我如何才能知道var行星是否在行星阵列中,并打印出该键的描述?

planet与当前planets[i].type进行比较。一旦在数组中找到行星,请记住使用break关键字终止循环:

var pln = planets.length; 
for (var i = 0; i < pln; i++) {
    if (planets[i].type === planet) {
        console.log(planets[i].desc);       
        break;     
    }
}

您可以使用过滤器

var planet = "sun";
var planets = [{
        type: "sun",
        desc: "sun"
        }, {
        type: "moon",
        desc: "moon"}];
var planetObj = planets.filter(function(obj){ 
 return obj.type==planet;
})[0].desc;//sun

如果您不确定行星是否存在,您可能希望查看从过滤器返回的数组是否真的包含任何元素,或者如果您正在搜索多个元素,则可能会迭代返回的集合。

嗯,我想这就是你想要的:

var pln = planets.length;
for (var i = 0; i < pln; i++) {
      if (planets[i].type == planet) {
          console.log(planets[i].desc);
          break;
      }
  }