Javascript Array API
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的更多相关文章
- javascript的api设计原则
前言 本篇博文来自一次公司内部的前端分享,从多个方面讨论了在设计接口时遵循的原则,总共包含了七个大块.系卤煮自己总结的一些经验和教训.本篇博文同时也参考了其他一些文章,相关地址会在后面贴出来.很难做到 ...
- JavaScript 的 API设计原则
一.接口的流畅性 好的接口是流畅易懂的,他主要体现如下几个方面: 1.简单 操作某个元素的css属性,下面是原生的方法: document.querySelectorAll('#id').style. ...
- 最全总结 JavaScript Array 方法详解
JavaScript Array 指南.png Array API 大全 (公众号: 前端自学社区).png 前言 我们在日常开发中,与接口打交道最多了,前端通过访问后端接口,然后将接口数据二次处理渲 ...
- 深入理解javascript选择器API系列第三篇——h5新增的3种selector方法
× 目录 [1]方法 [2]非实时 [3]缺陷 前面的话 尽管DOM作为API已经非常完善了,但是为了实现更多的功能,DOM仍然进行了扩展,其中一个重要的扩展就是对选择器API的扩展.人们对jQuer ...
- JavaScript Array 对象
JavaScript Array 对象 Array 对象 Array 对象用于在变量中存储多个值: var cars = ["Saab", "Volvo", & ...
- 使用 JavaScript File API 实现文件上传
概述 以往对于基于浏览器的应用而言,访问本地文件都是一件头疼的事情.虽然伴随着 Web 2.0 应用技术的不断发展,JavaScript 正在扮演越来越重要的角色,但是出于安全性的考虑,JavaScr ...
- JavaScript Array(数组)对象
一,定义数组 数组对象用来在单独的变量名中存储一系列的值. 创建 Array 对象的语法: new Array(); new Array(size); new Array(element0, elem ...
- Javascript Array.prototype.some()
当我们使用数组时,查找数组中包含某个特殊的项是非常常见的动作.下面例子是一个简单的实现: 01 planets = [ 02 "mercury", 03 " ...
- [Javascript ] Array methods in depth - sort
Sort can automatically arrange items in an array. In this lesson we look at the basics including how ...
随机推荐
- Linux内核分析(三)----初识linux内存管理子系统
原文:Linux内核分析(三)----初识linux内存管理子系统 Linux内核分析(三) 昨天我们对内核模块进行了简单的分析,今天为了让我们今后的分析没有太多障碍,我们今天先简单的分析一下linu ...
- tc-SRM-626-DIV1-250
枚举alice投掷骰子得到的结果的每一种情况极其数量. 枚举bob投掷骰子得到的结果的每一种情况极其数量. 然后枚举alice投掷骰子得到的结果的数量和bob投掷骰子比alice低的数量. 然后计算结 ...
- hello nodejs
文章1一步:下载.安装文件 打开nodejs官方网站http://www.nodejs.org/download/ .选择须要的版本号.直接打开.默认安装就可以 第二步:编写測试代码: var htt ...
- 使用批处理给IIS添加MIME类型
原文 使用批处理给IIS添加MIME类型 @echo off set /p warn="警告:本脚本会清空全部站点原有MIME类型,输入y按回车继续,直接回车退出:" if & ...
- solaris X86-64下一个ORACLE战斗11.2.0.3.8在一波折叠补丁
solaris X86-64下一个ORACLE战斗11.2.0.3.8补丁: 正确的步骤: 1.BUG6880880 .OPATCH补丁 2.BUG16902043.11.2.0.3.8补丁 情感是练 ...
- Git客户端(Windows系统)的使用(Putty)(转)
本文环境: 操作系统:Windows XP SP3 Git客户端:TortoiseGit-1.8.14.0-32bit 一.安装Git客户端 全部安装均采用默认! 1. 安装支撑软件 msysgit: ...
- 查询oracle sql运行计划,一个非常重要的观点--dba_hist_sql_plan
该文章的作者给予了极大的帮助长老枯荣,为了表达我的谢意. 这适用于oracle db版本号oracle 10g或者更高的版本号. 之所以说这种看法是非常重要的,因为观点是有之一awrsqrpt报告没有 ...
- hdu 亲和串(kmp)
Problem Description 人随着岁数的增长是越大越聪明还是越大越笨,这是一个值得全世界科学家思考的问题,同样的问题Eddy也一直在思考,因为他在很小的时候就知道亲和串如何判断了,但是发现 ...
- Java数据结构与算法(20) - ch08树
树的主要算法有插入,查找,显示,遍历,删除,其中显示和删除略微复杂. package chap08.tree; import java.io.BufferedReader; import java.i ...
- 阅读小记3(《C编程专家》)
gets()不检查缓冲区空间.多余的字符将覆盖原来的栈的内容. fgets()的第二个參数说明最大读入的字符数. 假设这个參数值为n,那么fgets()就会读取最多n-1个字符或读完一个换行符为止.两 ...