数组
基本语法
//实例化对象
//length 属性 代表数组的长度
var arr=new Array({});
console.log(arr);//[{…}]
var a=new Array([1,2,3,4]);
console.log(a);//[Array(4)]
//数组的简化声明
var a=[1,2,3,4];
var b=[4,5,6];
//数组的赋值
arr[0]=1;
arr[1]="a";
arr[2]=null;
arr[3]={};
arr[4]=true;
arr[5]=undefined;
arr[6]=function(){};
console.log(arr[0]);//1
方法
| 方法 | 解释 |
|---|---|
| concat() | 合并数组 返回新的数组 |
| filter() | 过滤 返回过滤出的值 |
| forEach() | 数组的遍历 没有返回值 能影响到原数组 |
| join() | 将数组转化为字符串 |
| map() | 相当遍历数组 映射一个新的数组 |
| slice() | 返回值是截取的数组 对原数组无影响 |
| splice() | 截断数组 对原数组有影响 |
| push() | 数组的后边追加 返回值是数组的长度 |
| unshift() | 数组的前边追加 返回值是数组的长度 |
| shift() | 数组的前删 |
| pop() | 数组的后删 |
| reverse() | 翻转数组 |
| sort() | 排序,默认从小到大 |
| some() | 检测数组里面的值 返回值是true false |
| reduce() | 迭加器 |
具体说明
var a=[1,2,3,4];
var b=[4,5,6];
//concat 也可以合并数组 返回新的数组
console.log(a.concat(b));//[1, 2, 3, 4, 4, 5, 6]
//filter 过滤 返回过滤出的值
console.log(a.filter(function (val, index, arr) {
/*if (val % 2 == 0) {
return val;
}*/
return val;
}));//[1, 2, 3, 4]
console.log(a.filter(function (val, index, arr) {
if (val % 2 == 0) {
return val;
}
}));//[2, 4]
//数组的遍历 没有返回值 能影响到原数组
//原本数组索引
console.log(a.indexOf(1));//0
console.log(a.indexOf(2));//1
console.log(a.indexOf(3));//2
console.log(a.indexOf(4));//3
//遍历
a.forEach(function (val, index, arr) {
arr[index]+=val;
}) //无返回值,但数组中的值变为[2,4,6,8]
console.log(a.indexOf(2));//0
//join 将数组转化为字符串
console.log(a.join(""));//2468
console.log(a.join("*"));//2*4*6*8
//map 相当遍历数组 映射一个新的数组
var b=a.map(function (val, index, arr) {
return val*val;
})
console.log(b,a);//(4) [4, 16, 36, 64] (4) [2, 4, 6, 8]
//slice 返回值是截取的数组 对原数组无影响
console.log(a.slice(1, 3));
console.log(a);//[4,6]
//splice 截断数组 对原数组有影响
console.log(a.splice(0, 3));//[2, 4, 6]
console.log(a);//[8]
//追加 push 数组的后边追加 返回值是数组的长度
a.push(9);
console.log(a);//[8,9]
//往前追加
a.unshift(7);
console.log(a);//[7,8,9]
console.log(a.unshift(7));//4 返回数组的长度[7,7,8,9]
//数组里面的删除 数组的前删
a.shift();
console.log(a)//[7,8,9]
//数组的后删除
a.pop();
console.log(a);//[7,8]
//翻转数组
a.reverse();
console.log(a);//[8,7]
//排序方法
var b=[2,1,4,3,6,5];
//sort 默认小-大排序
console.log(b.sort());//[1,2,3,4,5,6]
b.sort(function (n1,n2){
return n1-n2;
});//n1比n2大,就交换位置
console.log(b);//[1,2,3,4,5,6]
//大-小
b.sort(function (n1,n2){
return n2-n1;
});
console.log(b);//颠倒
//some 方法 检测数组里面的值 返回值是true false
console.log(b.some(function (val, index, arr) {
return val == 11;
}));//false
//reduce 迭加器 可加可减可乘除 参数(旧值,新值,最终和)
var c=[4,5,6];
console.log(c.reduce(function (total, currentvalue, currentindex) {
console.log(total,currentvalue);
return totle *= currentvalue;//4,5 20,6 乘,除法默认值为1,加减法默认值为0
}));//120
来源:https://blog.csdn.net/Wang_jiao_yaa/article/details/98956784