如果数组中存在 item,则返回元素在数组中的位置,否则返回 -1
function indexOf(arr, item) {
if (Array.prototype.indexOf){ //判断当前浏览器是否支持
return arr.indexOf(item);
} else {
for (var i = 0; i < arr.length; i++){
if (arr[i] === item){
return i;
}
}
}
return -1; //总是把return -1暴漏在最外层
}
https://www.nowcoder.com/questionTerminal/e7835a8113dd48afb15f77ef8d1dcb1d
来源:牛客网
计算给定数组 arr 中所有元素的总和
function sum(arr) {
var s = 0;
for (var i=arr.length-1; i>=0; i--) {
s += arr[i];
}
return s;
}
移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组
function removeWithoutCopy(arr, item) {
for(var i = 0;i<arr.length;i++){
if(arr[i]==item){
arr.splice(i,1);
i--
}
}
return arr
}
统计数组 arr 中值等于 item 的元素出现的次数
function count(arr, item) {
var count = arr.filter(function(a) {
return a === item; //返回true的项组成的数组
});
return count.length;
}
找出数组 arr 中重复出现过的元素
function duplicates(arr) {
var a = arr.sort();
var b =[];
for(var i = 0;i<arr.length;i++){
if(a[i]==a[i+1] && a[i]!=a[i-1]){
b.push(a[i]);
}
}
return b
}
为数组 arr 中的每个元素求二次方。不要直接修改数组 arr,结果返回新的数组
function square(arr) {
return arr.map(function(item,index,array){
return item*item;
})
}