javascript-Array数组总结
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript-Array数组总结相关的知识,希望对你有一定的参考价值。
1.构造函数
new Array(); new Array(size); new Array(ele0,ele1,ele2,...,elen);
参数
size:设定数组元素个数,返回数组的length等于size
2.属性
length:等于数组中最后一个元素的序号加一,改变length值会裁减或扩充数组.
3.方法
concat():把元素衔接到数组中
var a=[1,2,3]; a.concat(4,5); //返回[1,2,3,4,5] a.concat([4,5]); //返回[1,2,3,4,5] a.concat([4,5],[6,7]); //返回[1,2,3,4,5,6,7] a.concat(4,[5,[6,7]]); //返回[1,2,3,4,5,[6,7]]
every():测试断言函数是否对每个数组元素都为真
//检测数组 ages 的所有元素是否都大于 18 : var ages = [32, 33, 16, 40]; function checkAdult(age) { return age >= 18; } function myFunction() { document.getElementById("demo").innerhtml = ages.every(checkAdult); }
输出结果为:false
some():测试是否至少有一个数组元素能断言函数为真,返回布尔类型及true/false
var a = [1,2,3,4,5]; a.some(function(x){return x%2===0;})// =>true a.some(isNaN)// =>false
filter():返回满足断言函数的数组元素
// Define a callback function. function CheckIfPrime(value, index, ar) { high = Math.floor(Math.sqrt(value)) + 1; for (var div = 2; div <= high; div++) { if (value % div == 0) { return false; } } return true; } // Create the original array. var numbers = [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53]; // Get the prime numbers that are in the original array. var primes = numbers.filter(CheckIfPrime); document.write(primes); // Output: 31,37,41,43,47,53
var b = [5,4,3,2,1]; smallvalues = b.filter(function(x){regurn x < 3}); //[2,1] everyother = b.filter(function(x,i){return i%2 == 0}); //[5,3,1]
forEach():从头至尾遍历数组 三个参数(数组元素,数组元素的索引,数组元素本身)
var data = [1,2,3,4,5]; //计算元素和值 var sum = 0; data.forEach(function(value){sum += value;}); //sum => 15 //每个数组元素的值加1 data.forEach(function(v,i,a){a{i} = v + 1;}); //data => [2,3,4,5,6]
indexOf()/lastIndexOf():在数组中查找匹配元素的索引下标 2个参数(搜索值,开始索引的下标);不可以带function,未找到返回 -1
//在数组中插好所有出现的x,并返回一个包含匹配索引的数组 function finally(a,x){ var results = [], // len = a.length,// pos = 0;// while(pos < len){ pos = a.indexOf(x,pos); if(pos === -1) break; results.push(pos); pos = pos +1; } return results; }
join():将数组的所有元素转化为字符串,并衔接起来(是split()的逆向操作)
var a = [1,2,3]; a.join(); // => "1,2,3" a.join(" "); //=> "1 2 3" a.join(""); //=> "123" var b = new Array(10); b.join("-"); //=>"---------":9个连续的字符串
split():将字符串分割成若干块来创建一个数组 参数(拆分根据的字符,拆分后的数组的保留位数)
"2:3:4:5".split(":") //将返回["2", "3", "4", "5"] "|a|b|c".split("|") //将返回["", "a", "b", "c"] //把单词分割为字母,或者把字符串分割为字符,可使用下面的代码: "hello".split("") //可返回 ["h", "e", "l", "l", "o"] //若只需要返回一部分字符,请使用 howmany 参数: "hello".split("", 3) //可返回 ["h", "e", "l"]
map():将调用的数组的每个元素传递给指定的函数,并返回一个数组,他包含该函数的返回值 参数(function(数组的元素))
a[1,2,3]; b = a.map(function(x){ return x*x; });
pop():删除并返回数组的最后一个元素,减小数组长度
shift():把数组的第一个元素从其中删除,并返回第一个元素的值。减小数组长度
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.shift() console.log(fruits); //结果:Banana, Orange, Apple
unshift():在数组头部插入元素并把已存在的元素向后移动 参数(value,...,n) 返回值:数组的新长度
var a = []; a.unshift(1);// =>a:[1] 返回:1 a.unshift(22);// =>a:[22,1] 返回:2 a.shift();// =>a:[1] 返回:22 a.unshift(33,[4,5]);// =>a:[33,[4,5],1] 返回:3
push():在数组尾部添加一个或多个严肃,并返回数组新的长度
var stack = []; stack.push(1,2); //stack: [1,2] stack.pop(); //stack: [1] stack.push(3); //stack: [1,3] stack.pop(); //stack: [1] stack.push([4,5]); //stack: [1,[4,5]] stack.pop(); //stack: [1] stack.pop(); //stack: []
reduce():从数组的元素中,计算出一个值 参数(包含返回值得函数,初值[临时使用,第一次使用初值,二次以后使用第一个参数的返回值替换])
reduceRight():同上,不过顺序相反,从右至左处理数组
var a = [1,2,3,4,5]; var sum = a.reduce(function(x,y){return x+y},0);//数组求和 var produce = a.reduce(function(x,y){return x*y },1);//数组求积 var max = a.reduce(function(x,y){return x>y?x:y});//求最大值
reverse():在原数组中颠倒数组元素的顺序
var a = [1,2,3]; a.reverse().join(); // => 3,2,1 现在的数组a=[3,2,1]
sort():将数组排序并返回排序后的数组,不带参数调用sort()时默认按照字母排序
var a = new Array("banana","cherry","apple"); a.sort(); var s = a.join(",");//=>s == "apple,banana,cherry"
slice():返回数组的一部分 参数(开始位置,结束位置[不包含结束位置]) 若只有一个参数则从参数位置开始到数组结尾的所有元素 负数则是倒数,比如-1是倒数第一个,-3是倒数第三个
var a = [1,2,3,4,5]; a.slice(0,3);// =>[1,2,3] a.slice(3); // =>[4,5] a.slice(1,-1);// =>[2,3,4] a.slice(-3,-2);// =>[3]
splice():插入,删除或替换数组元素 参数(指定插入或删除的起始位置,指定了从数组删除元素的个数,若省略则从开始位置到结尾都被删除) 返回一个由删除元素组成的数组,没有删除就返回空数组
var a = [1,2,3,4,5,6,7,8]; a.splice(4);//=>返回[5,6,7,8];a是[1,2,3,4] a.splice(1,2);//=>返回[2,3];a是[1,4] a.splice(1,1);//=>返回[4];a是[1]
前两个参数指定了需要删除的数组元素,第三N多个参数指定了需要插入到数组中的元素,从第一个参数指定的位置开始插入
var a = [1,2,3,4,5]; a.splice(2,0,‘a‘,‘b‘);// =>返回[];a是[1,2,‘a‘,‘b‘,3,4,5] a.splice(2,2,[1,2],3);// =>返回[‘a‘,‘b‘]; a是[1,2,[1,2],3,3,4,5]
toLocaleString():将数组转换为本地化字符串
toString():将数组转化为字符串
以上是关于javascript-Array数组总结的主要内容,如果未能解决你的问题,请参考以下文章