Js去掉数组对象记得某一项重复的名字
时间: 2023-09-15 16:24:27 浏览: 49
假设数组对象为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去掉数组第一项,返回余下数组
要去掉数组的第一项并返回剩下的数组,可以使用数组的 `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` 方法会修改原始数组。根据你的需求选择适合的方法。
js 数组对象去重 去掉前面的
在JavaScript中,可以利用Set对象来实现数组对象的去重。Set对象是ES6中新增的数据结构,它类似于数组,但是成员的值都是唯一的,没有重复的值。
具体实现步骤如下:
1. 首先,将数组对象转换为Set对象。
例如,假设有一个数组对象arr,可以通过以下代码将其转换为Set对象:
```javascript
let uniqueSet = new Set(arr);
```
2. 接着,再将Set对象转换回数组对象。
可以使用Array.from()方法或者扩展运算符(...)来实现:
```javascript
let uniqueArr = Array.from(uniqueSet);
// 或者
let uniqueArr = [...uniqueSet];
```
这样就得到了去重后的数组对象uniqueArr。
如果要去掉前面的重复项,即只保留最后一次出现的项,可以使用数组的reverse()方法将数组顺序倒转,然后再进行去重操作。
示例代码如下:
```javascript
let reverseArr = arr.reverse(); // 将数组倒序
let uniqueSet = new Set(reverseArr); // 得到去重后的Set对象
let uniqueArr = Array.from(uniqueSet); // 将Set对象转换为数组
let resultArr = uniqueArr.reverse(); // 将数组再次倒序,即可得到去掉前面的重复项的最终结果
```
以上就是利用Set对象进行数组对象去重的方法,并去掉前面的重复项的解决方案。