JS数组对象提供了很多API方法,由于前段时间要用到某一些方法,但是突然一时又想不起来该怎么用了,上网找有很多资料都不全,所以就自己整理了一篇,完全是自己写的的JS,只是复制到这里来了 ,要用到的朋友可以查阅哈,如有错误欢迎指正。
/**
* Created by Administrator on 2017/1/10.
*/ /*
* concat(agr1,agr2,agrN...)
* 参数:(必须有一个参数)agrS
* 将多个数组合并为一个数组,不影响原数组
* 返回新的数组
* */
var arr1 = [1,2,3,4,5];
var arr2 = [6,7,8,9,10];
var arr3 = [11,12,13,14,15];
var concat = arr1.concat(arr2,arr3);
console.log(concat); // [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] /*
* every(fn(val,index,arr))方法
* 可使用1个参数:(必须)fn()是一个处理函数,val表示数组元素,(可选)index表示数组元素索引,(可选)arr表示当前元素所属哪个数组
* 检测数组中每一个元素是否满足条件表达式
* 返回:fasle or true
* */
var age1 = [12,14,15,16,18,20];
age1.every(function (val,index,arr) { //数组元素,数组元素索引,所属数组
console.log(val > 10); // true
console.log(val < 15); // true
console.log(val > 20); // false
}) /*
* filter(agr1,agr2,agr3)方法
* 可使用3个参数:(必须)agr1表示数组元素,(可选)agr2表示数组元素索引,(可选)agr3表示当前元素所属哪个数组
* 根据表达式过滤数组对象,返回符合条件表达式的数组元素
* 返回:一个新的数组
* */
var arr4 = [10,20,30,40,50];
var arr5 = arr4.filter(function (val,index,arr) {
return val > 30;
})
console.log(arr5); // [40,50] /*
* indexof(item,start)方法
* 可使用2个参数:(必须)item表示要查找的值,(可选)statr表示从什么地方开始检索,它的合法取值是0到arr.length-1
* 指定的item在数组中首次出现的位置
* 返回:如果存在则返回首次出现的位置,如果没有则返回-1;
* */ var arr6 = ['lisi','zhangsan','wangwu','wanger',123,456,789];
var index = arr6.indexOf(456);
console.log(index); // 5 索引从0开始计算 所以index = 5 /*
* join(separator)方法
* 可使用1个参数:(可选)separator表示指定的分隔符,如果省略此参数,默认使用逗号","分隔
* 将数组转换成一个字符串
* 返回一个字符串,使用separator分隔开
* */ var arr7 = ['zhangsan','lisi','wangwu','wanger'];
var str = arr7.join(' and ');
console.log(str); // zhangsan and lisi and wangwu and wanger /*
* lastindexOf(item,start)方法
* 可使用2个参数:(必须)item表示要查找的值,(可选)start表示从什么地方开始检索,它的合法取值是0 到arr.length-1
* 指定的item在数组中最后一次出现的位置
* 返回:如果存在则返回最后一次出现的位置,如果没有则返回-1;
* */
var arr8 = [123,'lisi',456,'zhangsan',789,'wangwu',456];
var index2 = arr8.lastIndexOf(456);
console.log(index2); //6 索引从0开始计算 所以index = 6 /*
* map(val,index,arr)方法
* 可使用3个参数:(必须)val表示数组中的每一个元素,(可选)index表示数组元素的索引,(可选)表示当前元素属于哪一个数组
* 数组中的每一个元素依次执行处理函数,并返回处理后的数组
* 返回:新数组
* */
var arr9 = [12,13,14,15,16,17,18,19,20];
var arr10 = arr9.map(function (val,index,arr) {
return val * 2;
})
console.log(arr10); // [24,26,28,30,32,34,36,38,40] /*
* pop()方法
* 无参数
* 删除并返回数组的最后一个元素(将改变原数组)
* 返回:返回数组的最后一个元素
* */
var arr11 = [1,2,3,4,5];
var lastItem = arr11.pop();
console.log(lastItem); // 5 /*
* push(agr1,agr2,agrN)方法
* 可接受多个参数:(必须)agrS表示要添加到数组的元素
* 像数组末尾添加一个或者多个对象,并返回新的数组长度
* 将改变原数组的长度
* 返回:数组长度
* */
var arr12 = [1,2,3,4,5];
var ss = arr12.push(6,7,8,9,10);
console.log(ss); // 10
console.log(arr12) // [1,2,3,4,5,6,7,8,9,10] /*
* reverse()方法
* 无参数
* 颠倒数组元素顺序
* 返回:颠倒后的数组对象
* */
var arr13 = [1,2,3,4,5];
var arr14 = arr13.reverse();
console.log(arr14); // [5,4,3,2,1] /*
* shift()方法
* 无参数
* 删除数组的第一个元素,并返回该元素
* 返回:被删除的数组元素,将更改原数组的长度
* */
var arr15 = [1,2,3,4,5];
var itme = arr15.shift();
console.log(itme); // 1
console.log(arr15); // [2,3,4,5] /*
* slice(start,end)方法
* 2个参数:
* (必须)start表示从什么地方开始选取,如果为负数,则从数组的末尾位置开始算起,
* (可选)end表示从什么地方结束,如果省略该参数,那么切分的数组从start到数组末尾的位置,如果为负数,那么是从数组末尾开始算起
* 选取数组的的一部分,并返回一个新数组。
* 返回:选取的新数组
* */
var arr16 = [11,22,33,44,55];
var arr17 = arr16.slice(3,5); //从第3位开始但不包括3到第5位结束包括第5位 所以 arr17=[44,55]
var arr18 = arr16.slice(-4,-2); //从-4开始包括-4位到-2位结束但不包括-2位 所以 arr18=[22,33]
console.log(arr17); // [44,55]
console.log(arr18); // [22,33] /*
* some(fn(val,index,arr),thisValue)方法
* 可用2个参数:(必须)fn(val,index,arr)是一个函数,数组中的每一个元素都会执行这个函数,
* val当前元素的值,
* index当前元素的下标,
* arr当前元素属于哪一个数组,
* thisValue(可选)对象作为该执行回调时使用,传递给函数,用作 "this" 的值。
* 如果省略了 thisValue ,"this" 的值为 "undefined"
* 检测数组元素中是否有元素符合指定条件。
* 返回:如果有一个元素满足条件,则返回true,剩余的元素不会再执行;如果没有满足条件,则返回false;
* (不会改变原数组!!!)
* */
var arr19 = [122,35,287,13,46,200];
var thisValue = {min:30,max:250};
var isok = arr19.some(function (val,index,arr) {
return val > this.min || val < this.max;
},thisValue)
console.log(isok); //true /*
* sort(fn())方法
* 可用1个参数:(可选)fn()是处理函数
* 用于对数组的元素进行排序,默认按照升序排序
* 返回:排序过后的数组
* */
var arr20 = ['m','s','a','w','b','x','c'];
var arr22 = [22,32,12,4,56,84,1,43,2];
var arr23 = arr20.sort();
var arr24 = arr22.sort(function (a,b) {
return a-b;
})
console.log(arr23); // ["a", "b", "c", "m", "s", "w", "x"]
console.log(arr24); // [1, 2, 4, 12, 22, 32, 43, 56, 84] /*
* splice(index,howmany,item1,item2,itemN...)方法
* 前2个参数为必须,index规定从什么地方开始添加/删除元素,该参数是数组元素的下标为数字,
* howmany表示要删除多少元素,必须是数字,如果没有规定这个参数,则从index开始删除至数组末尾
* itemS表示要添加到数组的新元素
* 返回:如果从数组中删除了元素,则返回被删除元素的数组
* */
var arr25 = [10,11,12,13,16,17,18,19,20,'test1','test2'];
arr25.splice(4,0,14,15);
var arr26 = arr25.splice(11,2,21,22);
console.log(arr26); // ['test1','test2']
console.log(arr25); // [10,11,12,13,14,15,16,17,18,19,20,21,22] /*
* toString()方法
* 无参数
* 将数组转化为字符串,以逗号’分隔
* 返回:数组转化的字符串
* */ var arr27 = ['zhangSan','Lisi','Wangwu','ZhaoLiu'];
var str1 = arr27.toString();
console.log(str1); // zhangSan,Lisi,Wangwu,ZhaoLiu /*
* unshift(item1,item2,itemN)方法
* 可传多个参数,itemS表示向数组头部添加的新的多个数组元素
* 向数组头部添加多个数组元素
* 返回:新的数组长度(改变原数组)
* */
var arr28 = [6,7,8,9,10];
var arr29 = arr28.unshift(1,2,3,4,5);
console.log(arr29); // 10
console.log(arr28); // [1,2,3,4,5,6,7,8,9,10] /*
* valueOf()方法
* 无参数
* 返回原数组对象的原始值
* */
var arr30 = [1,2,3,4,5];
var arr31 = arr30.valueOf();
console.log(arr31); // [1,2,3,4,5]
console.log(arr30 == arr31); // true
 

Javascript Array API的更多相关文章

  1. javascript的api设计原则

    前言 本篇博文来自一次公司内部的前端分享,从多个方面讨论了在设计接口时遵循的原则,总共包含了七个大块.系卤煮自己总结的一些经验和教训.本篇博文同时也参考了其他一些文章,相关地址会在后面贴出来.很难做到 ...

  2. JavaScript 的 API设计原则

    一.接口的流畅性 好的接口是流畅易懂的,他主要体现如下几个方面: 1.简单 操作某个元素的css属性,下面是原生的方法: document.querySelectorAll('#id').style. ...

  3. 最全总结 JavaScript Array 方法详解

    JavaScript Array 指南.png Array API 大全 (公众号: 前端自学社区).png 前言 我们在日常开发中,与接口打交道最多了,前端通过访问后端接口,然后将接口数据二次处理渲 ...

  4. 深入理解javascript选择器API系列第三篇——h5新增的3种selector方法

    × 目录 [1]方法 [2]非实时 [3]缺陷 前面的话 尽管DOM作为API已经非常完善了,但是为了实现更多的功能,DOM仍然进行了扩展,其中一个重要的扩展就是对选择器API的扩展.人们对jQuer ...

  5. JavaScript Array 对象

    JavaScript Array 对象 Array 对象 Array 对象用于在变量中存储多个值: var cars = ["Saab", "Volvo", & ...

  6. 使用 JavaScript File API 实现文件上传

    概述 以往对于基于浏览器的应用而言,访问本地文件都是一件头疼的事情.虽然伴随着 Web 2.0 应用技术的不断发展,JavaScript 正在扮演越来越重要的角色,但是出于安全性的考虑,JavaScr ...

  7. JavaScript Array(数组)对象

    一,定义数组 数组对象用来在单独的变量名中存储一系列的值. 创建 Array 对象的语法: new Array(); new Array(size); new Array(element0, elem ...

  8. Javascript Array.prototype.some()

    当我们使用数组时,查找数组中包含某个特殊的项是非常常见的动作.下面例子是一个简单的实现: 01 planets = [ 02     "mercury", 03     " ...

  9. [Javascript ] Array methods in depth - sort

    Sort can automatically arrange items in an array. In this lesson we look at the basics including how ...

随机推荐

  1. mysql三学习sql声明学习

    SQL 是一门 ANSI 的标准计算机语言,用来訪问和操作数据库系统.SQL 语句用于取回和更新数据库中的数据.SQL 可与数据库程序协同工作,比方MySQL. MS Access.DB2.Infor ...

  2. tortoise svn无法识别subversion check向下代码来解决

    使用eclipse小工具subversion check代码后,tortoise svnclient(版本号1.8.8)无法识别,不显示svn图标. 根据每个试验后的线上不实际的解决方案.试过的方法: ...

  3. Kd-Tree算法原理和开源实现代码

    本文介绍一种用于高维空间中的高速近期邻和近似近期邻查找技术--Kd-Tree(Kd树). Kd-Tree,即K-dimensional tree,是一种高维索引树形数据结构,经常使用于在大规模的高维数 ...

  4. Android dumpsys命令的使用

    Android提供的dumpsys工具能够用于查看手机中的应用程序和系统服务信息与状态,手机连接电脑后能够直接命令行运行adb shell dumpsys 查看全部支持的Service可是这样输出的太 ...

  5. VS2013打包部署(图解)

    首先要说明的是VS解决方案的配置Debug模式和Release有什么区别模式.Debug模式通常被称为调试模式,它包括调试信息,不优化的代码,序:Release模式通常叫做公布模式.不包括调试信息,可 ...

  6. MySQL汇总数据

    汇总数据 有时,数据本身是不上台面的操作数据表.但在摘要表中的数据.例如 数据的一列的平均值.极大值.至少值等一下. 对于这些频繁使用的数据的处理的概要,MySQL它提供了一个函数来处理. SQL聚集 ...

  7. XCL-Charts绘画面积图(AreaChart) 案件1

    样本区域地图,发现区域图的时候把做向上注视位置图更具优势的管理. 在改变. 区域图网格和轴是不一样的处理与其它图, 它是用来表示其影响范围的覆盖范围,车桥无段伸出.在这里下处理. 代码: /** * ...

  8. Python - 安全替换字符串模板(safe_substitute) 详细解释

    安全替换字符串模板(safe_substitute) 详细解释 本文地址: http://blog.csdn.net/caroline_wendy/article/details/27057339 字 ...

  9. 华为-on练习--身高找到最好的二人

    称号: 离5个人选择2个人作为礼工具.中的每个个体的身高的范围160-190,要求2个人高差值至少(假设差异值一样,他们中最高的选择).输出的两个人的身高升序. Smple input:161 189 ...

  10. cocos2dx 3.0 它 使用std::bind更换CC_CALLBACK_N

    在cocos2dx 3.0 版本号,回调函数本质4一个CC_CALLBACK_N 替换功能.N的回调函数的参数的数量的代表 1.让我们来看看这些CC_CALLBACK_N怎么用 比方action的回调 ...