所以基本上我想要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行星是否在阵列行星中并从该键中打印出描述?如果有的话?
答案 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;
}
}