Javascript 返回数组中所有对象的特定值
以下代码仅返回数组“category”中第一项的“name”。但是,我需要它返回数组中每个项的“name”值 我错过了什么Javascript 返回数组中所有对象的特定值,javascript,arrays,object,Javascript,Arrays,Object,以下代码仅返回数组“category”中第一项的“name”。但是,我需要它返回数组中每个项的“name”值 我错过了什么 function loadCategories(id){ for (var i = 0; i<folder.grades.models.length; i++){ if(folder.grades.models[i].attributes.entityid==id) { return folder.grades.models[i].
function loadCategories(id){
for (var i = 0; i<folder.grades.models.length; i++){
if(folder.grades.models[i].attributes.entityid==id) {
return folder.grades.models[i].attributes.categories.category[i].name;
}
}
}
函数加载类别(id){
对于(var i=0;ireturn
退出函数,您应该将所有名称添加到一个数组中,然后返回该数组
function loadCategories(id){
var names = [];
for (var i = 0; i<folder.grades.models.length; i++){
if(folder.grades.models[i].attributes.entityid==id) {
names[i] = folder.grades.models[i].attributes.categories.category[i].name;
}
}
return names;
}
函数加载类别(id){
变量名称=[];
对于(var i=0;iReturn语句,它是从函数中分离出来的,因此一旦它命中该Return语句,函数就结束了。如果您想要所有与实体id匹配的类别名称:
function loadCategories(id){
var result = [];
for (var i = 0; i<folder.grades.models.length; i++){
if(folder.grades.models[i].attributes.entityid==id) {
for (var j = 0; j < folder.grades.models[i].attributes.categories.category.length; ++j) {
result.push(folder.grades.models[i].attributes.categories.category[j].name);
}
}
}
return result;
}
函数加载类别(id){
var结果=[];
对于(var i=0;i函数装入类别(id){
var items=folder.grades.models;
对于(var i=0;iWhy您使用相同的i
作为模型
和类别
的索引?好奇..如果我还想获得另一个属性,如“年龄”我是否需要在当前函数中编写另一个函数或for循环?您可以将return c.name;
替换为return[c.name,c.age]
;
function loadCategories(id){
var items = folder.grades.models;
for (var i = 0; i<items.length; i++){
if(items[i].attributes.entityid==id) {
return items[i].attributes.categories.category.map(function(c) {
return c.name;
});
}
}
return [];
}