从数组中返回一个对象
returning an object from array
我有一个对象数组;
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 },
];
我想写一个函数,这个函数需要一个字符串作为参数,returns
rivers 数组中名称 属性 等于的对象
传递给它的字符串(如果有的话)。
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;
}
改用.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"));
压缩版:
const getRiverByName = (strTest) => rivers.find( r => r.name === strTest)
我有一个对象数组;
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 },
];
我想写一个函数,这个函数需要一个字符串作为参数,returns rivers 数组中名称 属性 等于的对象 传递给它的字符串(如果有的话)。
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;
}
改用.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"));
压缩版:
const getRiverByName = (strTest) => rivers.find( r => r.name === strTest)