<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script type="text/javascript">
定义一个函数,能在数组 arr[1, 2, 3, 4, 2] 的 "2"后面添加元素 "Melon"。不要直接修改数组 arr,结果返回新的数组
var arr = [1,2,3,4,2];
function two(arr){
var newArr = [].concat(arr);
for(var i = 0;i<newArr.length;i++){
if (newArr[i]==2) {
newArr.splice(i+1,0,'Melon');
}
}
return newArr;
}
console.log(two(arr))
统计数组 arr[1, 2, 3, 4, 2] 中2出现的次数
var arr = [1, 2, 3, 4, 2];
function three(arr){
var count = 0;
arr.forEach(function(val){
if (val == 2) {
count++;
}
})
return count;
}
console.log(three(arr))
数组去重:方法1 → 返回 ["melon", 2, 4]
var arr = [1, 2, 3, "melon", 4, "melon", 2, 4, "melon"];
//中重复出现过的元素2
function four(arr){
var res = arr.filter(function(val,index){
//第一个出现元素的下标值用变量num存起来
//那么下的没有下标值存起来的元素就是重复的元素
var num = arr.indexOf(val);
// console.log(arr.indexOf(val));
return num!=index;
})
//对提取到的数组去重
res.forEach(function(val,index){
var num = res.indexOf(val);
if (num!=index) {
res.splice(index,1)
}
})
return res;
}
console.log(four(arr))
数组去重: 方法2 → 返回 [2, 4, "melon"]
var arr = [1, 2, 3, "melon", 4, "melon", 2, 4, "melon"];
function four2(arr){
var res = [];
arr.sort().sort(function(a,b){
//a==b:用来提取重复过的元素
//res.indexOf(a)===-1;用来去重
if(a==b&&res.indexOf(a)===-1){
res.push(a);
}
})
return res;
}
console.log(four2(arr))
数组去重: 方法3 → 返回 [2, 4, "melon"]
function four3(arr){
var newArr = [];
arr.forEach(function(val,index){
if (arr.indexOf(val) != arr.lastIndexOf(val)&&newArr.indexOf(val) == -1) {
newArr.push(val);
}
})
return newArr;
}
console.log(four3(arr))
数组去重: 返回一个 [2, 5, 8, 9, 7]
var arr1 = [2,5,8,2,9,7,8];
function err(arr){
var res= [];
for(var i =0 ; i<arr.length;i++){
if (res.indexOf(arr[i]) == -1) {
res.push(arr[i])
}
}
return res;
}
console.log(err(arr1));
</script>
</body>
</html>








网友评论