constructor 属性返回对创建此对象的数组函数的引用。
{
var test=new Array();
if (test.constructor==Array)
{
document.write("This is an Array");
}
if (test.constructor==Boolean)
{
document.write("This is a Boolean");
}
if (test.constructor==Date)
{
document.write("This is a Date");
}
if (test.constructor==String)
{
document.write("This is a String");
}
输出:
This is an Array
}
Array.isArray(arr):判断是否是数组,返回是 true false
toString() 把数组转换为数组值(逗号分隔)的字符串(不改变原数组,返回一个新数组)
join() 方法也可将所有数组元素结合为一个字符串。它的行为类似 toString()【可以规定分隔符】
pop() 方法从数组中删除最后一个元素:
push() 方法(在数组结尾处)向数组添加一个新的元素:
shift() 方法会删除首个数组元素,并把所有其他元素“位移”到更低的索引。
unshift() 方法(在开头)向数组添加新元素,并“反向位移”旧元素:
splice() 来删除元素 ('开始位置',‘删除几个’,‘我是要添加参数1,非必填’,‘我是要添加参数2,非必填’)
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(0, 1); // 删除 fruits 中的第一个元素
第一个参数(0)定义新元素应该被添加(接入)的位置。
第二个参数(1)定义应该删除多个元素。
concat() 方法通过合并(连接)现有数组来创建一个新数组:
var myGirls = ["Cecilie", "Lone"];
var myBoys = ["Emil", "Tobias", "Linus"];
var myChildren = myGirls.concat(myBoys); // 连接 myGirls 和 myBoys
slice() 方法用数组的某个片段切出新数组。可接受两个参数,比如 (1, 3)。
实例
var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(1, 3);
结果 citrus=["Orange", "Lemon"]
toString() 把数组转换为字符串。arr.toString();
sort() 方法以字母顺序对数组进行排序:(改变原数组)
数字排序points.sort(function(a, b){return a - b});(降序是 b - a)
reverse() 方法反转数组中的元素。(改变原数组)
您可以使用它以降序对数组进行排序:
实例
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort(); // 对 fruits 中的元素进行排序
fruits.reverse();
Math.max.apply(null, arr),Math.min.apply(null,arr); 查找数组内最大最小值,(不改变原数组)。
从ES5开始 Javascript内置了forEach方法 用来遍历数组
let arr = ['a', 'b', 'c', 'd']
arr.forEach(function (val, idx, arr) {
console.log(val , idx) // val是当前元素,index当前元素索引,arr数组
})
Array.map(function(value,index,arr){ return value })
map() 方法通过对每个数组元素执行函数来创建新数组。
map() 方法不会对没有值的数组元素执行函数。
map() 方法不会更改原始数组。
Array.filter(function(value,index,arr){ return value });注意:(返回的是布尔值)
Array.reduce(function(){},initValue) 注意:如果 initValue 不设置 会执行 arr.length - 1 次
这个例子确定数组中所有数字的总和:
实例
var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduce(myFunction);
function myFunction(total, value, index, array) {
/*total 数组元素相加之和,value 当前值(从第二项开始) , index 下标(注意) ,array 原数组 */
打印结果:
//45 4 1 (5) [45, 4, 9, 16, 25]
//49 9 2 (5) [45, 4, 9, 16, 25]
//58 16 3 (5) [45, 4, 9, 16, 25]
//74 25 4 (5) [45, 4, 9, 16, 25]
return total + value;
}
reduceRight()方法 同 reduce()方法 执行是 从右向左执行
Array.every()
every(function(value, index, array){ return }) 方法检查所有数组值是否通过测试。 返回布尔值 不满足条件就停止执行
Array.some()
some(function(value, index, array){ return }) 方法检查某些数组值是否通过了测试。返回布尔值满足条件就停止执行。
Array.indexOf()
indexOf(‘要找元素’,‘开始位置’) 方法在数组中搜索元素值并返回其位置。 找到返回第一次出现位置,找不到则返回 -1; 参数一 必填 参数二 选填
Array.lastIndexOf() 同上 但返回最后出现位置;
Array.find()
find(value, index, array) 方法返回通过测试函数的第一个数组元素的值。