js把字符串添加到数组并且去重
时间: 2023-11-03 10:02:53 浏览: 28
以下是将字符串添加到数组并去重的JS代码:
```javascript
let arr = ["apple", "banana", "orange"];
let str = "banana";
if (!arr.includes(str)) {
arr.push(str);
}
console.log(arr); // ["apple", "banana", "orange"]
// or using Set() to remove duplicates:
let arr2 = ["apple", "banana", "orange"];
let str2 = "banana";
arr2.push(str2);
arr2 = [...new Set(arr2)];
console.log(arr2); // ["apple", "banana", "orange"]
```
第一段代码使用includes()方法检查字符串是否已经存在于数组中,如果不存在则将其添加到数组中。第二段代码使用Set()对象来创建一个不包含重复元素的数组,通过ES6的扩展运算符将其转换为数组。
相关问题
js 字符串数组去重
以下是两种JS实现字符串数组去重的方法:
1. 非正则实现(ES6实现):
```javascript
var arr = ['apple', 'banana', 'orange', 'apple', 'banana'];
var uniqueArr = Array.from(new Set(arr));
console.log(uniqueArr); // 输出:['apple', 'banana', 'orange']
```
2. 利用for循环嵌套for循环,然后使用splice方法去重(ES5中最常用):
```javascript
var arr = ['apple', 'banana', 'orange', 'apple', 'banana'];
for (var i = 0; i < arr.length; i++) {
for (var j = i + 1; j < arr.length; j++) {
if (arr[i] === arr[j]) {
arr.splice(j, 1);
j--;
}
}
}
console.log(arr); // 输出:['apple', 'banana', 'orange']
```
js数组对象去重
可以使用 Set 数据结构来实现数组对象去重。具体实现如下:
```javascript
const arr = [
{ id: 1, name: 'Tom' },
{ id: 2, name: 'Jerry' },
{ id: 1, name: 'Tom' },
{ id: 3, name: 'Lucy' }
];
const set = new Set(arr.map(JSON.stringify));
const newArr = Array.from(set).map(JSON.parse);
console.log(newArr);
// Output: [{ id: 1, name: 'Tom' }, { id: 2, name: 'Jerry' }, { id: 3, name: 'Lucy' }]
```
上述代码中,先使用 `map` 方法将每个对象转换为字符串形式,然后将其作为 Set 的元素,这样就可以去重了。最后再将 Set 转换为数组,并使用 `map` 方法将字符串转换为对象形式即可得到去重后的数组。