{
name
:
'张飞'
,
value
:
'1'
}
,
{
name
:
'张飞'
,
value
:
'2'
}
,
{
name
:
'张飞'
,
value
:
'3'
}
,
{
name
:
'关羽'
,
value
:
'9'
}
,
{
name
:
'关羽'
,
value
:
'6'
}
,
{
name
:
'刘备'
,
value
:
'8'
}
,
{
name
:
'刘备'
,
value
:
'2'
}
,
{
name
:
'刘备'
,
value
:
'1'
}
data = [
{name: '张飞', value: ['1', '2', '3']},
{name: '关羽', value: ['9', '6']},
{name: '刘备', value: ['8', '2', '1']}
var newArr = [];
for(var i = 0; i< array.length; i++){
var index = newArr.findIndex(function(item) {
return item.name === array[i].name
});
if(index !== -1){
newArr[index].value.push(array[i].value);
}else{
newArr.push({
name: array[i].name,
value: [array[i].value]
如果各位大佬有更好的方法, 欢迎指教
现有数组var array = [ {name: '张飞', value: '1'}, {name: '张飞', value: '2'}, {name: '张飞', value: '3'}, {name: '关羽', value: '9'}, {name: '关羽', value: '6'}, {name: '刘备', value: '8'}, {name: '刘备', value: '2'}, {name: '刘备', value: '1'}];目标数组data = [ {na
通过js把具有相同属性的对象的值进行合并,并生成新的数组对象的方法。
在日常开发的时候,我们有时候会遇到这样的需求,
要求把具有相同属性名的对象进行合并,如下例子所示
<script>
var arrayName = [{
"id":"1",
"name":"小明",
"course":"语文"
"id":"2",
"name":"小张",
"course":"政治"
{ name: '小明',age: 20,school: '清华' },
{ name: '小红',age: 21,school: '清华' },
{ name: '小白',age: 18,school: '北大' },
{ name: '小黄',age: 19,school: '北大' },
{ name: '小浪',age: 21,schoo
{name:'张小三',home:'北京',age:15},
{name:'李老四',home:'上海',age:15},
{name:'王小五',home:'上海',age:15},
{name:'马老六',home:'上海',age:15},
{name:'阮小七',home:'深圳',age:15},
{name:'苏小八',home:'北京',age:15},
var beforeData= [
{ name: "tony", id: "1", age: "20" },
{ name: "jack", id: "2", age: "21" },
{ name: "tony", id: "3", age: "50" },
{ name: "jack", id: "4", age: "10" },
{ name: "mark", id: "
{ id: 1, name: 'Alice', age: 25 },
{ id: 2, name: 'Bob', age: 30 },
{ id: 3, name: 'Charlie', age: 35 }
如果要获取 `id` 为 2 的用户对象,可以使用以下代码:
```javascript
let user = users.find(item => item.id === 2);
console.log(user);
输出结果为:
```javascript
{ id: 2, name: 'Bob', age: 30 }
这里使用了箭头函数作为参数传递给 `find()` 方法,箭头函数中的 `item` 表示数组中的每一个元素对象,`item.id === 2` 表示符合条件的对象的 `id` 属性等于 2。