08-数组中常用的属性及方法
创建:
使用 JavaScript 关键词 new
使用数组文本创建
//数组中的方法:
toString()
把数组转换为数组值(逗号分隔)的字符串。
join()
方法也可将所有数组元素结合为一个字符串 可以自定义分隔符
//添加新元素
unshift()
方法(在开头)向数组添加新元素
push()
方法(在数组结尾处)向数组添加一个新的元素
//删除元素
pop()
方法从数组中删除最后一个元素 pop()返回的是被弹出的值
shift()
方法会删除首个数组元素,并把所有其他元素“位移”到更低的索引 返回的是被弹出的值
//修改元素
splice()
方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组
//arr5.splice(位置,删除的个数,添加的新元素)
slice()
返回一个新的数组,包含从 start 到 end (不包括该end元素)的 arrayObject 中的元素
slice()见js文件:返回的是选定的元素,该方法不会修改原数组
//合并数组
concat()
方法用于连接两个或多个数组 该方法不会改变原有的数组
//sort()
排序
//reverse()
方法用于颠倒数组中元素的顺序 会改变原数组
//遍历数组
for循环
遍历
forEach()
方法用于调用数组的每个元素,并将元素传递给回调函数
//筛选数组
filter()
对数组的每一项都运行给定的函数,返回 结果为 ture 的项组成的数组
every()
对数组的每一项都运行给定的函数,每一项都返回 ture,则返回 true
//每一项都满足条件时返回true,只要有一个不满 足返回false
some()
只要有一个满足返回true,都不满足返回false
reduce()
乞丐要饭(类似累加)
//使用 JavaScript 关键词 new
var color= new Array("red", "blue", "green");
//使用数组文本创建
var color2 = ["red", "blue", "green"];
//数组中的方法:
//toString() 把数组转换为数组值(逗号分隔)的字符串。
var arr1 = ["red", "blue", "green"];
arr1.toString(); //"red,blue,green"
//join() 方法也可将所有数组元素结合为一个字符串 可以定义分隔符
var arr2 = ["red", "blue", "green"];
console.log(arr2.join(":")) //red:blue:green
console.log(arr2.join(" ")) //red blue green
//添加新元素
//unshift() 方法(在开头)向数组添加新元素
var arr3 = ["red", "blue", "green"];
arr3.unshift("abc");//["abc", "red", "blue", "green"]
//push() 方法(在数组结尾处)向数组添加一个新的元素
arr3.push("xyz"); //["abc", "red", "blue", "green","xyz"]
//删除元素
//pop() 方法从数组中删除最后一个元素 pop()返回的是被弹出的值
var arr4 = ["red", "blue", "green"];
arr4.pop(); //"green" arr4 ======["red", "blue"]
//shift() 方法会删除首个数组元素,并把所有其他元素“位移”到更低的索引 返回的是被弹出的值
arr4.shift();//"red"
//修改元素
//splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组
var arr5 = [5,6,7,8];
// arr5.splice(位置,删除的个数,添加的新元素)
arr5.splice(1,1); //删除了6 arr5 的结果是[5,7,8]
arr5.splice(1,0,9);//arr5 的结果是[5, 9, 6, 7, 8]
arr5.splice(1,2,3);//arr5 的结果是 [5, 3, 8]
//slice()返回一个新的数组,包含从 start 到 end (不包括该end元素)的 arrayObject 中的元素
var arr6 = [5,6,7,8];
arr6.slice(1,3) //[6, 7]
//arr6 仍然还是[5,6,7,8]; 返回的是选定的元素,该方法不会修改原数组
//合并数组
//concat() 方法用于连接两个或多个数组 该方法不会改变原有的数组
var arr7 =[1,2,3];
var arr8 = [4,5,6];
var arr9 = arr7.concat(arr8);
//arr9 [1, 2, 3, 4, 5, 6]
//sort()排序
var arr10 =["red", "blue", "green"];
arr10.sort(); // ["blue", "green", "red"]
var arr11 = [1,10,5,12,4,9,22];
arr11.sort();// [1, 10, 12, 22, 4, 5, 9]按照第一个数字排序的
//reverse() 方法用于颠倒数组中元素的顺序 会改变原数组
arr11.reverse();// [22, 9, 4, 12, 5, 10, 1]
//遍历数组
//for循环遍历
var arr12 =["red", "blue", "green"];
var str = "";
for(var i = 0;i < arr12.length;i++){
str += "<p>"+arr12[i]+"</p>";
};
//forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。
var arr13 =[1,2,3];
var a14=[];
arr13.forEach(function(item,index){
a14.push(item+1); //2 3 4
});
//筛选数组
//filter()对数组的每一项都运行给定的函数,返回结果为 ture 的项组成的数组
var arr15 = [2,3,5,6,7,18,9];
var a15 = arr15.filter(function(item,index){
return item > 5; //满足的条件 大于5的结果[6, 7, 18, 9]
});
//every()对数组的每一项都运行给定的函数,每一项都返回 ture,则返回 true
//每一项都满足条件时返回true,只要有一个不满 足返回false
var a16 = arr15.every(function(item,index){
//return item >5; //必须要求每一个数字都>5才会返回true 否则返回false
return item>1; //true
});
//some() 只要有一个满 足返回true,都不满 足返回false
var a17 = arr15.some(function(item,index){
//return item >5; //只要有一个满 足了条件,返回true
return item==0; //false 都不满足 返回false
});
//reduce()乞丐要饭(类似累加)
var arr15 = [2,3,5];
var a18 = arr15.reduce(function(total,cur){
return total+cur
},10); //10表示从total初始值是10,从10开始累加
console.log(a18) //20