一:数组属性
1.1 constructor(返回创建数组对象的原型函数)
var fruits = ["a","b","c"];
console.log(fruits.constructor) //function Array(){[native code]};
var number = 123;
console.log(number.constructor) //function Number(){[native code]};
var str ="sdsd";
console.log(str.constructor) //function String(){[native code]};
1.2 length (设置或返回数组元素的个数)
1.3 prototype(容许你向对象添加属性或方法)
// prototype是一个全局属性
// 数组全部大写
Array.prototype.myUcase= function(){
for(i=0;i<this.length;i++){
this[i]=this[i].toUpperCase();
}
}
function myFunction(){
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.myUcase();
console.log(fruits);
}
myFunction();//["BANANA", "ORANGE", "APPLE", "MANGO"]
二:对象属性
2.1 forEach() _数组每个元素都执行一次回调函数
var numbers = [4,5,6,7,8];
numbers.forEach(myFunction);
function myFunction(item,index){
console.log(item,index)
}
2.2 map() _通过指定函数处理数组的每个元素,并返回处理后的数组
// 语法: array.map(function(currentValue,index,arr),thisValue)
// currentValue :当前元素的值
// index:元素的索引值
// arr:当期元素属于的数组对象
// thisValue :对象作为该执行回调时使用,传递给函数,用作‘this’的值。如果省略thisValue,‘this’值为‘undefined’
var numbers = [4, 9, 16, 25];
console.log(numbers.map(Math.sqrt));
function multiplyArrayElement(num){
return num*2;
};
console.log(numbers.map(multiplyArrayElement))
2.3 concat() _连接两个或更多的数组,并返回对象数组,且并不改变现有数组,仅返回被连接数组的一个副本
var a = ['1','2'];
var b = ['3','4'];
var c = ['1','2'];
var ConcatA=a.concat(b,c);
console.log(ConcatA) //["1", "2", "3", "4", "1", "2"]
2.4 filter() _检测数值元素,并返回符合条件所有元素的数组
var numbers = [4,5,6,7,8];
function myValue(num){
return num<6;
}
console.log(numbers.filter(myValue)) //4,5
2.5 some() _检测数组元素中是否有元素符合指定条件,返回的是布尔值
var numbers = [4,5,6,7,8];
function myValue(num){
return num<6;
}
console.log(numbers.some(myValue)) //true
2.6 every() _检测数值元素的每一个元素是否符合条件,布尔值
2.7 copeWithin() _从数组的指定位置拷贝元素到数组另一个指定位置中
// array.copyWithin(target, start, end)
// target:复制到指定目标的索引位置
// start:元素复制的起始位置
// end:停止复制的索引位置(默认为 arr.length)
// IE(使有)都不支持copeWithin()方法
var fruits = ["Banana", "Orange", "Apple", "Mango", "Kiwi", "Papaya"];
console.log(fruits.copyWithin(2,0,2));//["Banana", "Orange","Banana", "Orange","Kiwi", "Papaya"]
2.8 find() _返回符合传入测试(函数)条件的数组的第一个元素
2.9 findIndex() _返回符合传入测试(函数)条件的数组元素索引位置(也是第一个)
var ages = [3, 10, 18, 20];
function checkAdult(age) {
return age >= 18;
}
// 如果没有,则返回 -1
console.log(ages.findIndex(checkAdult))
2.10 includes() _判断一个数组是否包含一个指定的值,返回布尔值
2.11 indexOf() _搜索数组中的元素,并返回它所在的位置
2.12 join() _把所有元素放入一个字符串
2.13 lastIndexOf() _返回一个指定字符串最后出现的位置
2.14 pop() _删除数组中的最后一个元素,并返回新数组
2.15 shift() _删除数组中的第一个元素,并返回新数组
2.16 pash() _向数组末尾添加最后一个或更多元素,并返回新的长度的数组
2.17 reduce() _将数组元素计算为一个值(从左到右)
var numbers = [65, 44, 12, 4];
function Number(num01,num02){
return num02+num01;
}
console.log(numbers.reduce(Number))
2.18 reduceRight() _同上(从右到左)
2.19 reverse() _反转数组的元素顺序
2.20 .slice(start,end) _从已有的数组中返回选定的元素
var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
console.log(fruits.slice(2,4))//['Lemon', "Apple"]
2.21 sort() _对数组元素进行排序
// 默认按照数字或字母来排序(每一个的第一个值)
var points = [40,100,1,5,25,10];
console.log(points.sort(function(a,b){return b-a}))
2.22 splice() _ 从数组中添加或删除元素
语法: splice(index,howmany,item1......itemX)
index: 插入或删除的坐标(必填)
howmany :规定应该删除多少元素,如果未规定此参数,则删除从index到原始数据的结尾所有元素(必填)
item: 添加到数组的新元素
网友评论