在 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);