Js去掉数组对象记得某一项重复的名字
时间: 2023-09-15 15:24:27 浏览: 96
假设数组对象为arr,重复的名字为name,可以使用以下代码去掉重复项:
```javascript
const uniqueArr = arr.filter((obj, index, self) => self.findIndex((t) => t.name === obj.name) === index);
```
这段代码使用了数组的filter方法和findIndex方法,filter方法用于过滤出符合条件的项,findIndex方法用于返回第一个符合条件的元素的索引。在这里,我们使用findIndex方法来找到第一个和当前对象重复的项,如果索引等于当前项的索引,则说明当前项是第一次出现,如果不等于,则说明当前项和之前的某个项重复了,应该被过滤掉。最后返回的uniqueArr就是去掉重复项后的新数组。
相关问题
js在数组对象中unshift一项并删除相同元素
在 JavaScript 中,`Array.prototype.unshift()` 方法用于在数组的开头添加一个或更多元素,然后返回新的长度。如果你想要在数组头部添加一项,但是希望删除任何已经存在的重复项,你可以这样做:
首先,你可以使用 `unshift()` 添加项目,例如:
```javascript
let arr = [1, 2, 3]; // 假设你想在开始处添加 '4'
arr.unshift('4'); // 现在 arr 是 [4, 1, 2, 3]
```
接着,为了删除重复的元素,你可以创建一个新的 Set 数据结构,Set 只包含唯一的值,然后将 Set 转换回数组:
```javascript
let uniqueItems = [...new Set(arr)]; // 这会去除重复项
```
最后,将 uniqueItems 的内容赋给原数组以更新:
```javascript
arr.length = 0; // 清空原数组
arr.push(...uniqueItems); // 再次添加唯一元素
```
现在 `arr` 就只包含不重复的新项目了。
js去掉数组第一项,返回余下数组
要去掉数组的第一项并返回剩下的数组,可以使用数组的 `slice` 方法。 `slice` 方法返回一个新数组,其中包含从指定索引开始(不包括该索引)到数组末尾的所有元素。
以下是一个示例代码:
```javascript
const arr = [1, 2, 3, 4, 5];
const newArr = arr.slice(1);
console.log(newArr); // [2, 3, 4, 5]
```
在这个示例中,我们定义了一个数组 `arr`,然后使用 `slice(1)` 方法创建了一个新数组 `newArr`,其中包含了从索引 `1` 开始(即第二个元素)到数组末尾的所有元素。最后,我们在控制台中打印了新数组 `newArr`。
如果你想要在原数组上进行修改,而不是创建一个新的数组,可以使用 `shift` 方法来删除数组的第一个元素:
```javascript
const arr = [1, 2, 3, 4, 5];
arr.shift();
console.log(arr); // [2, 3, 4, 5]
```
在这个示例中,我们使用 `shift` 方法删除了数组 `arr` 的第一个元素。最后,我们在控制台中打印了修改后的数组 `arr`。
请注意,`slice` 方法是不会修改原始数组的,而是返回一个新的数组。而 `shift` 方法会修改原始数组。根据你的需求选择适合的方法。
阅读全文