通过param的名称获取数组项

时间:2016-06-01 13:39:00

标签: javascript

for (...) {
    files.push(files[i]);
    li_out.push({name : fileName, list_files : files});
}

如何按名称获取list_files数组?

var list_files_of_file3 = li_out[name == "file3" (?????)].list_files;

2 个答案:

答案 0 :(得分:4)

在这种情况下可以使用

Array#find

var list_files_of_file3 = li_out.find(o => o.name === "file3").list_files;

// Variable names changed for DEMO purpose

var files = [];

for (var i = 0; i < 10; i++) {
    files.push({
        name: 'fileName ' + i,
        list_files: 'something ' + i
    });
}

var res = files.find(o => o.name === 'fileName 3').list_files;

console.log(res);

答案 1 :(得分:3)

  

如何按名称获取list_files数组?

使用filter,尝试

var result = li_out.filter(function(item){ return item.name == "file3" });
  

是否也可以只返回匹配项的属性   而不是整个对象? (以下评论@MajidFouladpour)

获得结果后

var propertyNames = result.map(function(obj){ return obj.propertName; })