在 JavaScript 中的对象数组中查找单个值
Find a single value in array of objects in JavaScript
我是 JS 的菜鸟,我正在尝试弄清楚如何在使用 .find() 函数时 return 单个值而不是对象。
示例:
var obj = [
{ name: 'Max', age: 23 },
{ name: 'John', age: 20 },
{ name: 'Caley', age: 18 }
];
var found = obj.find(e => e.name === 'John');
console.log(found);
这将输出 { name: 'John', age: 20 }
我希望它以字符串形式输出 John 的年龄(即:20
)。
我错过了什么?
.find function return 你一个对象所以你可以做这样的事情
var age = obj.find(e => e.name === "John").age
只需将 ?.age
添加到您的 found
变量即可。
var obj = [
{ name: 'Max', age: 23 },
{ name: 'John', age: 20 },
{ name: 'Caley', age: 18 }
];
var found = obj.find(e => e.name === 'John')?.age; // Using ?. incase value isnt found.
console.log(found);
你还提到你需要它作为一个字符串,你可以通过将 found
var 包装在 String
函数中来实现......
var obj = [
{ name: 'Max', age: 23 },
{ name: 'John', age: 20 },
{ name: 'Caley', age: 18 }
];
var found = String(obj.find(e => e.name === 'John')?.age);
console.log(found);
我是 JS 的菜鸟,我正在尝试弄清楚如何在使用 .find() 函数时 return 单个值而不是对象。
示例:
var obj = [
{ name: 'Max', age: 23 },
{ name: 'John', age: 20 },
{ name: 'Caley', age: 18 }
];
var found = obj.find(e => e.name === 'John');
console.log(found);
这将输出 { name: 'John', age: 20 }
我希望它以字符串形式输出 John 的年龄(即:20
)。
我错过了什么?
.find function return 你一个对象所以你可以做这样的事情
var age = obj.find(e => e.name === "John").age
只需将 ?.age
添加到您的 found
变量即可。
var obj = [
{ name: 'Max', age: 23 },
{ name: 'John', age: 20 },
{ name: 'Caley', age: 18 }
];
var found = obj.find(e => e.name === 'John')?.age; // Using ?. incase value isnt found.
console.log(found);
你还提到你需要它作为一个字符串,你可以通过将 found
var 包装在 String
函数中来实现......
var obj = [
{ name: 'Max', age: 23 },
{ name: 'John', age: 20 },
{ name: 'Caley', age: 18 }
];
var found = String(obj.find(e => e.name === 'John')?.age);
console.log(found);