1、移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组
//方法1
function remove(arr, item) {
var newArr=[];
for(var i=0;i<arr.length;i++){
if(arr[i]!=item){
newArr.push(arr[i]);
}
}
return newArr;
}
// 方法2
function remove(arr, item) {
return arr.filter(function(ele){
return ele!=item;
})
}
2、计算给定数组 arr 中所有元素的总和
// 使用ES6中的reduce方法
function sum(arr) {
return arr.reduce(function(x,y){
return x+y;
})
}
3、找出元素 item 在给定数组 arr 中的位置,如果数组中存在 item,则返回元素在数组中的位置,否则返回 -1。
function indexOf(arr, item) {
return arr.indexOf(item);
}
4、在数组 arr 末尾添加元素 item。不要直接修改数组 arr,结果返回新的数组。
function append(arr, item) {
var newArr=arr.slice(0);
newArr.push(item);
return newArr;
}
5、删除数组 arr 最后一个元素。不要直接修改数组 arr,结果返回新的数组
//方法1
function truncate(arr) {
var newArr=arr.slice(0,arr.length-1);
return newArr;
}
//方法2
function truncate(arr) {
var newArr=arr.pop();
return newArr;
}
6、合并数组 arr1 和数组 arr2。不要直接修改数组 arr,结果返回新的数组
function concat(arr1, arr2) {
return arr1.concat(arr2);
}
7、在数组 arr 的 index 处添加元素 item。不要直接修改数组 arr,结果返回新的数组
function insert(arr, item, index) {
var newArr=arr.slice(0);
newArr.splice(index,0,item);
return newArr
}
8、统计数组 arr 中值等于 item 的元素出现的次数
//方法1
function count(arr, item) {
var count=0;
for(var i=0;i<arr.length;i++){
if(arr[i]==item) count++;
}
return count;
}
//方法2
function count(arr, item) {
var count=arr.filter(function(ele){
return ele==item;
})
return count.length;
}
9、找出数组 arr 中重复出现过的元素
function duplicates(arr) {
var result=[];
arr.forEach(function(ele,index){
if(arr.indexOf(ele)!=index&& result.indexOf(ele)==-1){
result.push(ele);
}
})
return result;
}
// 输入:[1, 2, 4, 4, 3, 3, 1, 5, 3]
// 输出:[1, 3, 4]
10、为数组 arr 中的每个元素求二次方。不要直接修改数组 arr,结果返回新的数组
function square(arr) {
var newArr=arr.map(function(x){
return x*x;
})
return newArr;
}
11、在数组 arr 中,查找值与 item 相等的元素出现的所有位置
//方法1 使用for循环
function findAllOccurrences(arr, target) {
var find=[];
for(var i=0;i<arr.length;i++){
if(arr[i]== target){
find.push(i);
}
}
return find;
}
//方法2 使用filter
function findAllOccurrences(arr, target) {
var find=[];
arr.filter(function(ele,index){
return ele==target&&find.push(index);
})
return find;
}
网友评论