如何遍历数组并找到密钥

时间:2015-03-03 22:13:30

标签: javascript

所以基本上我想要o循环错误(我已经做过)并打印另一个键

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行星是否在阵列行星中并从该键中打印出描述?如果有的话?

3 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:2)

您可以使用过滤器

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

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

答案 2 :(得分:1)

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

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