JavaScript数组方法应用

1.找出元素item在给定数组arr中的位置

function indexOf(arr,item){
return arr.indexOf(item);
} function indexOf(arr,item){
var index = -1;
arr.forEach(function(res,i)){
if(res === item && index === -1){
index = i;
}
});
return index;
} 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;
} function indexOf(arr,item){
var len = arr.length;
for(var i = 0;i < len;i++){
if(arr[i] == item){
return i;
}
}
return -1;
}

2.计算数组arr中所有元素的总和

//不考虑算法复杂度,用递归
function sum(arr){
var len = arr.length;
if(len == 0){
return 0;
}else if(len ==1){
return arr[0];
}
}else{
return arr[0] + sum(arr.slice(1));
}
} //常规循环
function sum(arr){
var s = 0;
for(var i = arr.length-1;i>=0;i--){
s+=arr[i];
}
return s;
} //函数式编程map-reduce
function sum(arr){
return arr.reduce(function(prev,curr,idx,arr)
return prev +curr;
});
} //forEach遍历
function sum(arr){
var s = 0;
arr.forEach(function(val,idx,arr)){
s += val;
},0);
return s;
}; //eval
function sum(arr){
return eval(arr.join("+"));
};

3.移除数组arr中的所有值与item相等的元素。不要直接修改数组arr,结果返回新的数组

//1.splice()
function remove(arr,item){
var newarr = arr.slice(0);
for(var i = 0;i<newarr.length;i++){
if(newarr[i] == item){
newarr.splice(i,1);
i--;
}
}
return newarr;
} //2.push()
function remove(arr,item){
var newarr = [];
for(var i = 0;i<arr.length;i++){
if(arr[i] !=item){
newarr.push(arr[i]);
}
}
return newarr;
} //3.Array y.protototype.filter()
function remove(arr,item)

2018.2.27 JavaScript数组方法应用的更多相关文章

  1. 一站式超全JavaScript数组方法大全

    一站式JavaScript数组方法大全(建议收藏) 方法一览表 详细操作 本人总结了JavaScript中有关数组的几乎所有方法(包含ES6之后新增的),并逐一用代码进行演示使用,希望可以帮助大家! ...

  2. JavaScript数组方法--every、some、fill

    接上一篇,JavaScript数组方法--concat.push,继续其他的数组方法. every:every() 方法测试数组的所有元素是否都通过了指定函数的测试. 先看其使用方法: functio ...

  3. 【译】你应该了解的JavaScript数组方法

    让我们来做一个大胆的声明:for循环通常是无用的,而且还导致代码难以理解.当涉及迭代数组.查找元素.或对其排序或者你想到的任何东西,都可能有一个你可以使用的数组方法. 然而,尽管这些方法很有用,但是其 ...

  4. JavaScript数组方法大全(推荐)

    原网址:http://www.jb51.net/article/87930.htm 数组在笔试中经常会出现的面试题,javascript中的数组与其他语言中的数组有些不同,为了方便之后数组的方法学习, ...

  5. JavaScript 数组方法处理字符串 prototype

    js中数组有许多方法,如join.map,reverse.字符串没有这些方法,可以“借用”数组的方法来处理字符串. <!doctype html> <html lang=" ...

  6. JavaScript数组方法详解

    JavaScript数组方法详解 JavaScript中数组的方法种类众多,在ES3-ES7不同版本时期都有新方法:并且数组的方法还有原型方法和从object继承的方法,这里我们只介绍数组在每个版本中 ...

  7. JavaScript数组方法速查,32个数组的常用方法和属性

    JavaScript数组方法速查手册极简版 http://30ke.cn/doc/js-array-method JavaScript数组方法速查手册极简版中共收了32个数组的常用方法和属性,并根据方 ...

  8. JavaScript数组方法大集合

    JavaScript数组方法集合 本文总结一下js数组处理用到的所有的方法.自己做个笔记. 数组方法 concat() 合并两个或多个数组 concat()能合并两个或者多个数组,不会更改当前数组,而 ...

  9. 4个错误使用JavaScript数组方法的案例

    译者按: 做一个有追求的工程师,代码不是随便写的! 原文: Here's how you can make better use of JavaScript arrays 译者: Fundebug 为 ...

随机推荐

  1. 如何获取AppStore上应用的ipa安装包

    1.首先你得去下载一个Apple Configurator 2,我们通过这个工具来获取ipa包,从AppStore上下载安装你需要获取的App 2.连接手机,打开Apple Configurator ...

  2. 【转】ssm整合

    http://m.blog.csdn.net/article/details?id=44455235 SSM框架——详细整合教程(Spring+SpringMVC+MyBatis) 发表于2015/3 ...

  3. C# 随机列表

    一.问题描述 在EF中使用随机排序出现的问题:LINQ to Entities does not recognize the method 'System.Guid NewId()' method, ...

  4. React 从入门到进阶之路(五)

    之前的文章我们介绍了  React 事件,方法, React定义方法的几种方式 获取数据 改变数据 执行方法传值.接下来我们将介绍 React 表单事件 键盘事件 事件对象以及 React中 的 re ...

  5. 多行文字超出字数部分省略(主要解决不兼容;display: -webkit-box;的浏览器)

    注明:内容来处https://www.cnblogs.com/ss977/p/5846176.html 1.现webkit内核的浏览器支持display: -webkit-box;属性, 所以网页中显 ...

  6. 洛谷P1298 最接近的分数

    P1298 最接近的分数 题目描述 给出一个正小数,找出分子(非负)不超过M,分母不超过N(正数)的最简分数或整数,使其最接近给出的小数.“最接近”是指在数轴上该分数距离给出的小数最近,如果这个分数不 ...

  7. sublime text 3 的emmet 添加自定义 html 片段

    比如想在html写 jquery 直接添加jquery地址,打开 ‘首选项->Package Setting->Emmet->Settings - User’, css也可以如法炮制 ...

  8. STP-11-多生成树:IEEE 802.1s

    IEEE802.1s多生成树(MultipleSpanningTrees,MST)有时也称为多STP(MultipleSTP,MSTP),它定义了在使用802.1QVLAN网络中,部署多实例STP的标 ...

  9. Js $.merge() 函数(合并两个数组内容到第一个数组)

    定义和用法 $.merge() 函数用于合并两个数组内容到第一个数组. 语法 $.merge( first, second )   参数 描述 first Array类型 第一个用于合并的数组,合并后 ...

  10. C.One Piece

    链接:https://ac.nowcoder.com/acm/contest/908/C 题意: Luffy once saw a particularly delicious food, but h ...