我有一个对象数组;
var rivers = [
{ name: "Amazon", continent: "South America", lengthInKilometers: 6575 },
{ name: "Danube", continent: "Europe", lengthInKilometers: 2850 },
{ name: "Ganges", continent: "Asia", lengthInKilometers: 2704 },
{ name: "Mekong", continent: "Asia", lengthInKilometers: 4350 },
{ name: "Mississippi", continent: "North America" },
{ name: "Nile", continent: "Africa", lengthInKilometers: 6650 },
{ name: "Volga", continent: "Europe", lengthInKilometers: 3530 },
];
我想写一个函数,这个函数需要一个字符串作为参数并返回 Rivers 数组中 name 属性等于 传递给它的字符串(如果有)。
function getRiverByName(strTest) {
let answer = rivers.filter(function (river) {
return river.name === strTest;
});
return answer;
}
如何将这个函数的输出,也就是数组存储到对象中 我可以做这样的事情吗?
function getRiverByName(strTest) {
var obj = {
let answer=rivers.filter(function(river){
return river.name===strTest;
})
}
return obj;
}
答案 0 :(得分:4)
改用 .find
:
var rivers =[
{name: "Amazon", continent: "South America", lengthInKilometers: 6575},
{name: "Danube", continent: "Europe", lengthInKilometers: 2850},
{name: "Ganges", continent: "Asia", lengthInKilometers: 2704},
{name: "Mekong", continent: "Asia", lengthInKilometers: 4350},
{name: "Mississippi", continent: "North America"},
{name: "Nile", continent: "Africa", lengthInKilometers: 6650},
{name: "Volga", continent: "Europe", lengthInKilometers: 3530}
];
function getRiverByName(strTest) {
let answer = rivers.find(function(river){
return river.name===strTest;
});
return answer;
}
console.log(getRiverByName("Volga"));
答案 1 :(得分:1)
压缩版本:
for(Comment comment:comments){
if(comment.getId().equals(foundComment.getId())){
comment.setContent(foundComment.getContent());
}
}