在JavaScript中的对象数组中查找单个值



我是一个新手,当涉及到JS和我试图找出如何返回一个单一的值,而不是一个对象,当使用。find()函数

的例子:

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)。

我错过了什么?

?.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);

您还提到您需要它作为字符串,您可以通过在String函数中包装foundvar来实现,如下所示…

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

。Find函数返回一个对象你可以这样做

var age = obj.find(e => e.name === "John").age

最新更新