JS笔记(3) —— 数组 API
来源:互联网 发布:淘宝怎么打折促销 编辑:程序博客网 时间:2024/06/06 19:28
/* * 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); // 10console.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); // 1console.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); // 10console.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
阅读全文
0 0
- JS笔记(3) —— 数组 API
- JS笔记(二)--数组API
- JS笔记(2) —— JS 字符串操作API
- 原生JS学习笔记3——数组
- JS 数组API
- JS-数组API
- js数组API总结
- js数组API--温故知新
- 【面向JS--数组API】
- js 数组api
- Node 学习笔记—Node.js 核心 API 之 Util
- jQuery数组API【笔记】
- js api笔记汇总
- js中数组的API
- js总结(数组API)
- JS数组API知识点总结
- js数组API和字符串API汇总
- js数组定义笔记
- 冒泡排序(C语言)
- 关于计算机的一些名词或是概念
- 数组与矩阵---之字型打印矩阵
- 在淘宝服务市场的应用源码
- LeetCode 566. Reshape the Matrix
- JS笔记(3) —— 数组 API
- Linux如何安装程序
- [模板]-字符串哈希
- oracle11g with admin option 和with grant option区别
- C#中常用的系统内置委托
- 三七互娱2018校招前端笔试题
- 酒罢问君三语
- Spring AOP实现:面向切面编程——动态代理原理
- please select a vaild python interpret