一、概念
Array 对象用于在变量中存储多个值
二、属性
-
constructor
返回数组对象原型创建的函数:
var fruits= ['apple','orange','banana']; fruits.constructor; // function Array() { [native code] }
-
length
返回数组的长度
var cars = ["Saab", "Volvo", "BMW"]; cars.length; // 3
-
prototype
允许您向对象添加属性和方法
Array.prototype.myUcase=function() { for (i=0;i<this.length;i++) { this[i]=this[i].toUpperCase(); } } var fruits=["Banana","Orange","Apple","Mango"]; fruits.myUcase();// BANANA,ORANGE,APPLE,MANGO
三、方法
-
concat()
array1.concat(array2,array3,...,arrayX)
连接两个或多个数组
var hege = ["Cecilie", "Lone"]; var stale = ["Emil", "Tobias", "Linus"]; var kai = ["Robin"]; hege.concat(stale,kai);// Cecilie,Lone,Emil,Tobias,Linus,Robin
-
copyWithin()
array.copyWithin(target, start, end)
从数组的指定位置拷贝元素到数组的另一个指定位置中
target (必需):从该位置开始替换数据。
start (可选):从该位置开始读取数据,默认为 0 。如果为负值,表示倒数。
end (可选):到该位置前停止读取数据,默认等于数组长度。如果为负值,表示倒数。// 将 3 号位复制到 0 号位 [1, 2, 3, 4, 5].copyWithin(0, 3, 4) // [4, 2, 3, 4, 5] // -2 相当于 3 号位, -1 相当于 4 号位 [1, 2, 3, 4, 5].copyWithin(0, -2, -1) // [4, 2, 3, 4, 5] // 将 3 号位复制到 0 号位 [].copyWithin.call({length: 5, 3: 1}, 0, 3) // {0: 1, 3: 1, length: 5} // 将 2 号位到数组结束,复制到 0 号位 var i32a = new Int32Array([1, 2, 3, 4, 5]); i32a.copyWithin(0, 2); // Int32Array [3, 4, 5, 4, 5] // 对于没有部署 TypedArray 的 copyWithin 方法的平台 // 需要采用下面的写法 [].copyWithin.call(new Int32Array([1, 2, 3, 4, 5]), 0, 3, 4); // Int32Array [4, 2, 3, 4, 5] ```
-
entries()
array.entries()
返回一个数组的迭代对象,该对象包含数组的键值对 (key/value)。
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.entries(); // [0, "Banana"] // [1, "Orange"] // [2, "Apple"] // [3, "Mango"]
-
every()
array.every(function(currentValue,index,arr), thisValue)
检测数组所有元素是否都符合指定条件(通过函数提供)
如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
如果所有元素都满足条件,则返回 true。var ages = [32, 33, 16, 40]; function checkAdult(age) { return age >= 18; } function myFunction() { document.getElementById("demo").innerHTML = ages.every(checkAdult); } // false
-
fill()
array.fill(value, start, end)
</