如何根据指定属性值获取JavaScript数组中的对应元素?
根据room_ID从JavaScript数组中获取对应元素
在JavaScript中,要从给定的roomsData数组里根据指定room_ID获取完整的匹配元素,最简洁高效的方式是使用数组的find()方法——它会返回数组中第一个满足条件的元素(适合room_ID唯一的场景,比如你的示例)。
实现代码
let roomsData = [{ "room_ID": "100", "Seats_Available": 4, "Amenities": ["AC", "Hot Water"], "Price": "10000" }, { "room_ID": "203", "Seats_Available": 6, "Amenities": ["AC", "Hot Water", "Washing"], "Price": "10000" }, { "room_ID": "301", "Seats_Available": 4, "Amenities": ["Non AC", "Hot Water"], "Price": "10000" }] // 定义要匹配的room_ID const targetRoomId = "100"; // 使用find()查找匹配元素 const matchedRoom = roomsData.find(room => room.room_ID === targetRoomId); console.log(matchedRoom);
输出结果
{ "room_ID": "100", "Seats_Available": 4, "Amenities": ["AC", "Hot Water"], "Price": "10000" }
补充说明
- 如果数组中可能存在多个相同room_ID的元素,想要获取所有匹配项,可以改用
filter()方法:const matchedRooms = roomsData.filter(room => room.room_ID === targetRoomId); // 返回的是包含所有匹配元素的数组 find()方法在找不到匹配元素时会返回undefined,可以根据需求添加判断逻辑处理这种情况。
内容的提问来源于stack exchange,提问作者Saiteja
相关产品推荐
相关产品推荐

