根据数组中的id去重 ,只保留不重复id的数据 var a = [{name:"苹果",id:1},{name:"菠萝",id:2},{name:"苹果",id:1},{name:"菠萝",id:2},{name:"葡萄",id:3}]
时间: 2023-09-11 12:04:06 浏览: 56
可以使用 Array.prototype.filter() 和 Array.prototype.map() 方法来实现:
```
var a = [{name:"苹果",id:1},{name:"菠萝",id:2},{name:"苹果",id:1},{name:"菠萝",id:2},{name:"葡萄",id:3}];
var uniqueIds = [...new Set(a.map(item => item.id))];
var result = uniqueIds.map(id => a.find(item => item.id === id));
console.log(result);
```
输出结果为:
```
[
{ name: '苹果', id: 1 },
{ name: '菠萝', id: 2 },
{ name: '葡萄', id: 3 }
]
```
相关问题
javascript中,数组里面嵌套对象,又在对象里面嵌套数组,再放到新数组中
在JavaScript中,可以使用数组来嵌套对象,在对象中又可以嵌套数组,然后将它们放入新的数组中。下面是一个示例代码:
```javascript
// 创建嵌套数组和对象的示例数据
var obj1 = {name: '张三', age: 18};
var obj2 = {name: '李四', age: 20};
var arr1 = ['苹果', '梨子'];
var arr2 = ['香蕉', '桃子'];
// 创建一个新的数组,并将嵌套对象和数组放入其中
var newArr = [];
newArr.push({obj: obj1, arr: arr1});
newArr.push({obj: obj2, arr: arr2});
// 打印新数组中的数据
console.log(newArr);
```
在上面的代码中,我们创建了两个对象(`obj1`和`obj2`),每个对象有两个属性(`name`和`age`)。我们还创建了两个数组(`arr1`和`arr2`)。然后,我们创建了一个新的数组(`newArr`),并使用`push`方法将每个对象和数组嵌套到新数组中作为元素。最后,我们使用`console.log`打印新数组中的数据。
执行上述代码后,将会得到如下输出:
```
[
{ obj: { name: '张三', age: 18 }, arr: [ '苹果', '梨子' ] },
{ obj: { name: '李四', age: 20 }, arr: [ '香蕉', '桃子' ] }
]
```
这说明成功将嵌套的对象和数组放入了新数组中,且新数组中的每个元素都包含一个嵌套的对象和数组。
数组写入table html,把数组里的数据在html table 里展现出来
好的,可以使用JavaScript来实现将数组写入HTML的table中展现数据。以下是一个简单的例子:
HTML代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>Array to Table</title>
</head>
<body>
<h1>Array to Table</h1>
<table id="myTable">
<thead>
<tr>
<th>序号</th>
<th>名称</th>
<th>数量</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</body>
</html>
```
JavaScript代码:
```javascript
// 定义数组
var items = [
{ name: "苹果", qty: 10 },
{ name: "香蕉", qty: 20 },
{ name: "橙子", qty: 15 }
];
// 获取table元素
var table = document.getElementById("myTable");
// 遍历数组,生成table行
for (var i = 0; i < items.length; i++) {
// 创建行
var row = table.insertRow(-1);
// 创建单元格
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(2);
// 填充单元格内容
cell1.innerHTML = i+1;
cell2.innerHTML = items[i].name;
cell3.innerHTML = items[i].qty;
}
```
这段JavaScript代码将数组中的数据逐一遍历,生成HTML的`<tr>`和`<td>`元素,并将数据填充到单元格中,最终呈现在HTML的table中。
希望这个例子可以帮助你实现数组数据展示在HTML的table中。