js 数组中查找等于2的对象,返回是个数组,用什么函数
时间: 2024-02-24 22:56:53 浏览: 55
你可以使用数组的 `filter()` 函数来查找符合条件的对象,然后将符合条件的对象组成一个新的数组返回。具体实现代码如下:
```
const arr = [
{ id: 1, value: 2 },
{ id: 2, value: 3 },
{ id: 3, value: 2 },
{ id: 4, value: 5 },
{ id: 5, value: 2 },
];
const result = arr.filter((item) => item.value === 2);
console.log(result); // [{ id: 1, value: 2 }, { id: 3, value: 2 }, { id: 5, value: 2 }]
```
上面的代码中,我们首先定义了一个数组 `arr`,然后使用 `filter()` 函数过滤出其中 `value` 属性等于 2 的对象,最后将符合条件的对象组成一个新的数组返回。
相关问题
js 数组对象 查找id 为 2的数据 下标
可以使用 `Array.prototype.findIndex()` 方法来获取 id 为 2 的数据在数组中的下标,示例如下:
```javascript
const index = arr.findIndex(item => item.id === 2);
```
这个代码会遍历数组对象 arr 中的每一个元素,返回第一个满足条件的元素的下标,如果没有找到则返回 -1。注意,`findIndex()` 方法接受一个回调函数作为参数,该函数会接收数组中的每一个元素作为参数,并返回一个布尔值,表示该元素是否满足条件。在这里我们使用了箭头函数和对象属性简写语法来实现代码的简洁性。如果在数组中存在多个 id 为 2 的数据,`findIndex()` 方法只会返回第一个找到的下标。
js一个数组是另一个数组的下标,根据下标数组查找另一个数组中对应的值,返回新的数组
您可以使用 JavaScript 中的 map 方法来实现这个功能。map 方法可以遍历一个数组,并将每个元素映射为一个新的值,最终返回一个新的数组。
假设有两个数组,一个是下标数组 `indexArray`,另一个是值数组 `valueArray`。您可以按照以下步骤来实现所需的功能:
1. 使用 map 方法遍历下标数组 `indexArray`。
2. 在 map 的回调函数中,将每个下标对应的值从值数组 `valueArray` 中取出。
3. 返回取出的值作为 map 方法的结果。
以下是具体的代码示例:
```javascript
const indexArray = [1, 3, 0, 2]; // 下标数组
const valueArray = ['A', 'B', 'C', 'D']; // 值数组
const resultArray = indexArray.map(index => valueArray[index]);
console.log(resultArray);
```
这段代码会输出新的数组 `[ 'B', 'D', 'A', 'C' ]`,其中每个元素是根据下标数组在值数组中查找得到的对应值。
希望对您有所帮助!如果您还有其他问题,请随时提问。
阅读全文