来源:牛客网
1.
//找出元素 item 在给定数组 arr 中的位置
function indexOf(arr, item) {for(var i=0;i<arr.length;i++){
if(arr[i]===item)
return i;
}
return -1;
}
2.
//计算给定数组 arr 中所有元素的总和
function sum(arr) {
var sum=0;
for(var i=0;i<arr.length;i++){
sum=sum+arr[i];
}
return sum;
}
3.
//移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组
function remove(arr, item) {
var newArr=[];
for(var i=0;i<arr.length;i++){
if(arr[i]!==item)
newArr.push(arr[i]);
}
return newArr;
}
4.
//移除数组 arr 中的所有值与 item 相等的元素,直接在给定的 arr 数组上进行操作,并将结果返回
function removeWithoutCopy(arr, item) {
var n=arr.length
for(var i=0;i<n;i++){
if(arr[i]===item){
arr.splice(i,1);
i--;
}
}
return arr;
}
5.
//在数组 arr 末尾添加元素 item。不要直接修改数组 arr,结果返回新的数组
function append(arr, item) {
var newArr;
newArr=arr.slice(0);
newArr.push(item);
return newArr;
}
6.
//删除数组 arr 最后一个元素。不要直接修改数组 arr,结果返回新的数组
function truncate(arr) {
return arr.slice(0,-1);
}
7.
//在数组 arr 开头添加元素 item。不要直接修改数组 arr,结果返回新的数组
function prepend(arr, item) {
var newArr=[];
newArr.push(item);
for(var i=0;i<arr.length;i++){
newArr.push(arr[i]);
}
return newArr;
}
8.
//删除数组 arr 第一个元素。不要直接修改数组 arr,结果返回新的数组
function curtail(arr) {
var newArr=[];
newArr=arr.slice(0);
newArr.shift();
return newArr;
}
9.
//合并数组 arr1 和数组 arr2。不要直接修改数组 arr,结果返回新的数组
function concat(arr1, arr2) {
var newArr=[];
newArr=arr1.slice(0);
[].push.apply(newArr, arr2);
return newArr;
}
10.
//在数组 arr 的 index 处添加元素 item。不要直接修改数组 arr,结果返回新的数组
function insert(arr, item, index) {
var newArr=[];
newArr=arr.slice(0,index);
newArr.push(item);
[].push.apply(newArr,arr.slice(index));
return newArr;
}