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'} ]; 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] }) } } console.log(newArr)