arr:[{value:1,count:1},{value:2,count:6},{value:3,count:4}],str:[{value:2,name:'zx'},{value:1,name:'cd'}]两个数组通过匹配相同的value值,如果value相等,将arr中的count给到str对应的数组中,用es6语法
时间: 2024-02-16 16:03:39 浏览: 18
可以使用 ES6 的数组方法 `map()` 和 `find()` 来实现这个功能。具体方法是,首先将 arr 数组转换成以 value 值为键,count 值为值的对象。然后使用 `map()` 方法遍历 str 数组,对于每个元素,使用 `find()` 方法在对象中查找对应的 count 值,然后将其赋值给 str 数组中对应元素的 count 值。
以下是一个示例代码实现:
```javascript
const arr = [{value: 1, count: 1}, {value: 2, count: 6}, {value: 3, count: 4}];
const str = [{value: 2, name: 'zx'}, {value: 1, name: 'cd'}];
// 将 arr 数组转换成以 value 值为键,count 值为值的对象
const dict = Object.fromEntries(arr.map(item => [item.value, item.count]));
// 使用 map() 方法遍历 str 数组,对于每个元素,使用 find() 方法在对象中查找对应的 count 值,然后将其赋值给 str 数组中对应元素的 count 值
const result = str.map(item => ({
...item,
count: dict[item.value] || 0
}));
console.log(result); // 输出更新后的 str 数组
```
输出结果为:
```
[{value: 2, name: 'zx', count: 6}, {value: 1, name: 'cd', count: 1}]
```
可以看到,str 数组中与 arr 数组中 value 值相同的元素的 count 值被更新为 arr 数组中对应元素的 count 值。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![xlsx](https://img-home.csdnimg.cn/images/20210720083732.png)