js-在数组中根据name查找出对应id(find与filter方法)

1.根据name查找出对应id

        使用数组的 find 方法来根据对象的某个属性(如名称)查找对应的对象,并获取该对象的 id 属性。

2.find 方法

const array = [  
    { id: 1, name: 'Alice' },  
    { id: 2, name: 'Bob' },  
    { id: 3, name: 'Charlie' }  
];

使用 find 方法来查找具有特定名称的对象,并获取其 id

function findIdByName(array, name) {  
    const obj = array.find(item => item.name === name);  
    return obj ? obj.id : null; // 如果找到对象,返回其id,否则返回null  
}  
  
// 示例使用  
const nameToFind = 'Bob';  
const id = findIdByName(array, nameToFind);  
  
console.log(id); // 输出: 2

 find 方法会遍历数组中的每个对象,并返回第一个满足条件(即 item.name === name)的对象。如果找到了这样的对象,我们就返回它的 id 属性;如果没有找到,则返回 null。

3. filter 方法

filter 方法会返回所有满足条件的对象,然后 map 方法会提取这些对象的 id 属性并返回一个新的数组。

function findIdsByName(array, name) {  
    const objs = array.filter(item => item.name === name);  
    return objs.map(obj => obj.id); // 返回所有匹配对象的id数组  
}  
  
// 示例使用  
const ids = findIdsByName(array, 'Alice');  
  
console.log(ids); // 输出: [1]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值