Array对象属性和方法参考
来源:互联网 发布:雕刻软件type3 编辑:程序博客网 时间:2024/06/01 07:11
快速搜索:ctrl+f
创建Array对象
通过new关键字:
var arr1=new Array();
var arr2=new Array(5); //初始化数组大小为5
var arr3=new Array(“aa”,”bb”,”cc”); //初始化数组值通过字面量
var arr=[“aa”,”bb”,”cc”];
注:以下arr表示一个数组,Array表示Array构造函数
属性
- arr.index 通过匹配正则表达式得到的子字符串数组(不使用全局模式,只得到1个结果)具有index属性,返回子字符串第一个字符在源字符串中的索引位置
var str="hello world say hello";var reg=/llo/var arr=str.match(reg);arr.index; //2
- arr.input 通过匹配正则表达式得到的子字符串数组(不使用全局模式,只得到1个结果)具有input属性,返回源字符串
var str="hello world say hello";var reg=/llo/var arr=str.match(reg);arr.input; //hello world say hello
- arr.length 数组中所包含元素的值,该属性既可以读取也可以写入。如果将length设为比原来值更大,则有新的元素被追加到数组中;如果将length设为比原来值更小,则数组将从尾部被截短。
var arr=["aa","bb","cc","dd"];arr.length; //4arr.length=6;arr; //["aa","bb","cc","dd",undefined,undefined]arr.length=2;arr; //["aa","bb"]
- arr.constructor 返回arr是由哪个原型构造的
var arr = new Array();arr.constructor == Array; //true
- Array.prototype 在对象的原型上添加新的属性或方法
Array.prototype.text="abc"; //在原型上添加新的属性Array.prototype.getText=function(){ return "hello world";}var arr=new Array();arr.text; //abcarr.getText(); //hello world
方法
1.简单操作数组
- arr1.concat(element0,…,elementN) 将一个数组与另一个数组或者元素合并,该方法不会改变源数组。
var arr1=["a","b","c"];var arr2=["d","e","f"];arr1.concat(arr2); //["a","b","c","d","e","f"]arr1.concat(10,11,12,13); //["a","b","c",10,11,12,13]
- arr.join(separator) 使用指定分隔符,将所有的数组元素连接为一个字符串,该方法不会改变源数组。
var arr=["我","要","合","体"];arr.join("o0-0o"); //我o0-0o要o0-0o合o0-0o体
- arr.indexOf(searchelement[,start]) 搜索一个数组,以查找指定元素在数组中第一次出现的位置,如果没有找到,返回-1。
var arr=["one","two","three","four","one","five","nine"];arr.indexOf("two"); //1arr.indexOf("ten"); //-1arr.indexOf("one",2); //4arr.indexOf("one",-5); //4,用负数可以表示从倒数第几个开始查找
- arr.lastIndexOf(searchelement[,start]) 搜索一个数组,以查找指定元素在数组中最后一次出现的位置,如果没有找到,返回-1。原来是从右往左查找,返回找到的第一个的位置。
var arr=["one","two","three","four","one","five","nine"];arr.lastIndexOf("one"); //4arr.lastIndexOf("ten"); //-1arr.lastIndexOf("one",2); //0,从第二个开始向左查找arr.lastIndexOf("one",-1); //4,用负数可以表示从倒数第几个开始查找
- arr.pop() 返回数组中的最后一个元素,并将其从数组中移除,该方法会改变源数组。
var arr=["one","two","three","four","one","five","nine"];arr.pop(); //ninearr; //["one","two","three","four","one","five"]
- arr.shift() 返回数组中的第一个元素,并将其从数组中移除,该方法会改变源数组。
var arr=["one","two","three","four","one","five","nine"];arr.shift(); //onearr; //["two","three","four","one","five","nine"]
- arr.push(val1,val2,…) 将一个或多个元素添加到数组尾部,并返回最终的数组长度,该方法会改变源数组。
var arr=["one","two","three"];var len=arr.push('four','five');len; //5arr; //["one","two","three","four","five"]
- arr.unshift(val1,val2,…) 将一个或多个元素添加到数组开头,并返回最终的数组长度,该方法会改变源数组。
var arr=["one","two","three"];var len=arr.unshift('four','five');len; //5arr; //["four","five","one","two","three"]
- arr.reverse() 反转元素中的顺序,该方法会改变源数组。
var arr=["one","two","three"];arr.reverse(); //["three","two","one"]
- arr.slice(beginIndex[,endIndex]) 复制数组中的一部分,并返回一个新数组,该方法不会改变源数组。传入两个参数都是整数时,第二个参数必须大于第一个参数,这样才能返回一个有价值的结果。左闭右开区间
var arr=["one","two","three","four","five","nine"];arr.slice(3); //["four","five","nine"]arr.slice(-1); //["nine"],负数代表从倒数开始arr.slice(3,5); //["four","five"]arr.slice(3,-1); //["four","five"]arr.slice(3,2); //[]
- arr.sort([sortFn]) 为数组指定排序规则并对整数组排序,如果省略sortFn则将按升序对元素进行排序,返回已拍好的数组,该方法会改变源数组。
var arr=["one","two","three","four","five","nine"];arr.sort(); //["five", "four", "nine", "one", "three", "two"]function CompareForSort(first, second){ if (first == second) return 0; if (first > second) return -1; else return 1; }arr.sort(CompareForSort); //["two", "three", "one", "nine", "four", "five"]
- arr.splice(start,deleteCount,[element0[,…]]) 从 start 位置开始移除指定个数deleteCount个元素,并插入新元素[element0[,…]。返回值是一个由所移除的元素组成的新 Array 对象。
var arr=["one","two","three","four","five","nine"];arr.splice(1,2,"哈哈","拜拜"); //["two","three"]arr; //["one","哈哈","拜拜","four","five","nine"]
- arr.toLocaleString() 将数组转换为本地字符串。
- arr.toString() 将数组转换为字符串。
var arr=["one","two","three"];arr.toLocaleString(); //one,two,threearr.toString(); //one,two,three
- arr.valueOf() 返回对象基本值
var arr=["one","two","three"];arr.valueOf(); //one,two,three
2.定义callback函数
- arr.every(callbackFn[,thisObject]) 检查一个数组中的每个元素是否都符合callback中定义的规则,返回true或false。thisObject可以为callbackFn引用this关键字的对象,如果省略,则undefined将用作this值。只要检测到false就停止并返回false,undefined的元素不执行回调。
- arr.some(callbackFn[,thisObject]) 如果至少有一个元素通过了测试,则返回true,否则返回false。
- arr.filter(callbackFn[,thisObject]) 返回一个包含所有通过测试元素的数组。
- arr.map(callbackFn[,thisObject]) 对数组中每个元素调用callbackFn函数,并返回包含结果的数组(true/false)。
- arr.forEach(callbackFn[,thisObject]) 数组中每个元素(缺少的元素除外)都调用一次callbackFn函数。
用法类似,以every()为例:
var arr1=["one","two","three","four","five","nine"];var arr2=[];function isLong(value,index,array){ return (value.length>2);}arr1.every(isLong); //truearr2.every(isLong); //true,空数组也返回truevar numbers=[10,15,19];function checkNum(value){ return (value>this.min);}var obj={min:9}numbers.every(checkNum,obj); //true,传入obj引用this关键字
- arr.reduce(callbackFn[,initialValue]) 对数组中的所有元素按照从左到右的顺序调用指定的回调函数。该回调函数的返回值为累积结果,并且每一次的返回值作为下一次的参数。如果提供了initialValue,则第一次的preValue为initialValue,否则为数组中第一个元素。回调函数的参数可以有四个function(previousValue,currentValue,currentIndex,array)
- arr.reduceRight() 同reduce(),只是数组中的元素按照从右到左的顺序调用函数。
方法类似,以reduce()为例:
function appendCurrent (previousValue, currentValue) { return previousValue + "::" + currentValue;}var arr=["abc", "def", 123, 456];arr.reduce(appendCurrent); //abc::def::123::456
3.ES6新增方法
- Array.from(array-like) 将类似数组的对象或者可遍历的对象(包括ES6新增的数据结构Set和Map)转换为真正的数组
let arrayLike = { '0':'a', '1':'b', '2':'c', length:3};let arr2=Array.from(arrayLike);arr2;//["a", "b", "c"]let str='hello';let str2=Array.from(str);str2;//["h", "e", "l", "l", "o"]
- Array.of() Array.of()基本可以代替Array()或new Array(),并且不存在由于参数不同而导致的重载
var arr=Array.of(3,4,5);arr;//[3, 4, 5]
- arr.copyWithin(target, start, end) 将数组arr中start位置到end位置(不包括end位置)的值,从target位置开始覆盖arr数组中原来的值,原数组会被改变
[0,1,2,3,4,5].copyWithin(0,1,2);//[1,1,2,3,4,5][0,1,2,3,4,5].copyWithin(0,-2,-1);//[4,1,2,3,4,5] 负数代表倒数
- arr.find(callback) 数组中所有成员依次执行该回调函数,直到找出第一个返回值为true的成员,然后返回该成员,如果没有符合条件的成员,则返回undefined。可以发现NaN,弥补了indexOf的不足。
var arr=[1,2,3,4,5];arr.find((n)=> n>3);//4[NaN].find(n=>Object.is(NaN,n));//NaN
- arr.findIndex(callback) findIndex方法和find方法类似,但是findeIndex返回的是第一个符合条件的数组成员的位置,如果所有成员都不符合条件则返回-1。
var arr=[1,2,3,4,5];arr.findIndex((n)=> n>3);//3
- arr.fill(value, start, end) 将[start,end)位置的值使用给定值fillvalue填充,start和end省略则填充整个数组,用于空数组的初始化很方便。
var arr=new Array(3).fill('a');arr;//["a", "a", "a"]arr.fill('b',1,2);//["a", "b", "a"]
- arr.entries() 遍历键值对
- arr.keys() 遍历键名
- arr.values() 遍历键值
var arr=['a','b','c'];for(let element of arr.entries){ console.log(element);}//[0,"a"]//[1,"b"]//[2,"c"]for(let index of arr.keys()){ console.log(index);}//0//1//2for(let val of arr.values()){ console.log(val);}//'a'//'b'//'c'
- arr.includes(val, start) 类似字符串的includes,返回一个布尔值,表示某个数组是否包含给定的值,start为空则表示从头开始,该方法属于ES7,但高版本chrome已经能支持
[1,2,3].includes(2);//true['1','2','3'].includes(2);//false
0 0
- Array对象属性和方法参考
- String对象属性和方法参考
- Array属性和方法
- javascript Array对象 属性/方法
- javascript中的Array对象属性和方法整理
- javascript中的Array对象属性和方法整理
- Date方法和属性参考
- Array的属性和方法
- js中String对象和Array对象的常用方法和属性
- 最详细的JavaScript的创建Array对象方法,Array 对象属性,Array 对象方法
- JavaScript 内置对象(一):Array 对象(构造函数、属性和方法)
- JavaScript 内置对象(一):Array 对象(构造函数、属性和方法)
- phpmailer的属性和方法(phpmailer参考)
- [转]Array的属性和方法
- JavaScript Array 常用属性和方法
- Array的常用属性和方法
- JS Array的属性和常用方法
- JavaScript Array 对象的参考
- redis(主从服务器)在windows下用一台机器配置分布式
- DiscuzX3.1标签(TAG)目录化伪静态修改教程(附规则)
- 图像噪声与图像信噪比(一)
- 利用NSRunLoop优化大图加载
- android studio调试c++代码
- Array对象属性和方法参考
- activiti 快速入门--并行网关(5)
- Xcode 修改文件上面的注释信息
- hadoop rpc
- RTMP流媒体播放过程
- ionic-toast 淡入淡出效果
- 使用百度UEditor 和Websocket 实现手机端实时预览页面编辑效果
- 统一钉铛如何创建新企业?
- Android 混淆代码总结