const map = new Map(); var arr2 = []; for (var i = 0; i < arr.length; i++) { if (!map.has(arr[i])) { map.set(arr[i], true) console.log(map) arr2.push(arr[i]); } }
时间: 2024-02-02 21:04:28 浏览: 65
这段代码是什么意思?
这段代码主要是实现数组去重。首先创建一个新的 Map 对象,然后遍历原数组 arr,每次判断当前元素是否已经在 Map 中存在,如果不存在,就将该元素作为 key 存入 Map 中,并且将其 value 设置为 true,同时将该元素 push 到新数组 arr2 中。最后返回去重后的新数组 arr2。
相关问题
map 1)封装一个len(arr)函数,接收一个数组作为参数 var arr = [‘sdsf’, "I","like","you","honey", ‘haaaa’]; 数组的每一项都是一个单词,遍历数组中的每一个数据,并将每个数据的长度存储到新数组中。 2)写一个函数,将这个数组中所有的一位数前面补0,输出一个新数组,即最后返回 例如:var arr = [12,3,45,6,7,88], 返回[12,03,45,06,07,88] 3)将arrs中所有的数字乘以5 var arrs = [6,5,3],返回[30,25,15]
1)封装一个len(arr)函数,接收一个数组作为参数 var arr = [‘sdsf’, "I","like","you","honey", ‘haaaa’]; 数组的每一项都是一个单词,遍历数组中的每一个数据,并将每个数据的长度存储到新数组中。
```javascript
function len(arr) {
const lenArr = [];
for(let i = 0; i < arr.length; i++) {
lenArr.push(arr[i].length);
}
return lenArr;
}
// 测试
const arr = ['sdsf', "I", "like", "you", "honey", 'haaaa'];
console.log(len(arr)); // [4, 1, 4, 3, 5, 5]
```
2)写一个函数,将这个数组中所有的一位数前面补0,输出一个新数组,即最后返回 例如:var arr = [12,3,45,6,7,88], 返回[12,03,45,06,07,88]
```javascript
function addZero(arr) {
const newArr = [];
for(let i = 0; i < arr.length; i++) {
if(arr[i] < 10) {
newArr.push(`0${arr[i]}`);
} else {
newArr.push(arr[i].toString());
}
}
return newArr;
}
// 测试
const arr = [12, 3, 45, 6, 7, 88];
console.log(addZero(arr)); // ['12', '03', '45', '06', '07', '88']
```
3)将arrs中所有的数字乘以5 var arrs = [6,5,3],返回[30,25,15]
```javascript
function multiply(arr) {
const newArr = [];
for(let i = 0; i < arr.length; i++) {
newArr.push(arr[i] * 5);
}
return newArr;
}
// 测试
const arrs = [6, 5, 3];
console.log(multiply(arrs)); // [30, 25, 15]
```
现有以下一个数组,里面有几个重复的元素,找出重复次数最多的元素,并列出每个元素重复多少次 var arr= ["a","b","c","a","a","b","d","e","f","c","g","d","e","g","a","c","a" ,"h","a"];
要找出数组`arr`中重复次数最多的元素及其重复次数,你可以使用JavaScript中的Map数据结构来记录每个元素及其出现的次数,然后遍历这个Map找到频率最高的元素。下面是一种简单的实现方法:
```javascript
var arr = ["a", "b", "c", "a", "a", "b", "d", "e", "f", "c", "g", "d", "e", "g", "a", "c", "a", "h", "a"];
// 使用Map保存每个元素出现的次数
const elementCount = new Map();
for (let i = 0; i < arr.length; i++) {
if (!elementCount.has(arr[i])) {
elementCount.set(arr[i], 1);
} else {
elementCount.set(arr[i], elementCount.get(arr[i]) + 1);
}
}
// 找出重复次数最多的元素及重复次数
let maxCount = 0;
let mostFrequentElement;
elementCount.forEach((count, element) => {
if (count > maxCount) {
maxCount = count;
mostFrequentElement = element;
}
});
console.log(`重复次数最多的元素 "${mostFrequentElement}" 重复了 ${maxCount} 次`);
阅读全文