多维数组:
-
1.一维数组:var i = [1,2,3,4,]; console.log();
-
2.二维数组:var arr = [ [1,2,3,],[4,5,6] ];
-
3.三维数组:var arr = [
[[1,2,3,],[4,5,6]],
[[7,8,9],[45,56,45]]
];
数组方法:
1.新增元素:
1.1.在数组的末尾新增元素:arr.push(填写你需要添加的元素); 1.2.在数组的开头新增元素:arr.unshift(填写你需要添加的元素); 1.3.在数组的任意位置添加元素:arr.splice(3,0,'a'); 意思是在数组第三的位置添加一个字符a
// splice slice(分割数组) 【 split(分割字符串) join(把数组中的所有元素放进一个字符串)】
2.删除元素:
-
2.1.在数组的末尾删除元素:arr.pop();
-
2.2.在数组的开头删除元素:arr.shift();
-
2.3.在数组的任意位置删除元素:arr.splice(3,1); 意思是删除下标为第三的位置的元素
3.修改元素:
-
arr.splice(2,2,'a','b'); 意思是先删除下标从2开始,删除两个,然后在添加两个新的元素啊a,b,达到修改元素的目的
4.翻转元素:
-
arr.reverse();
5.合并元素:
-
var sum = arr.concat([7,8,9]); 意思是把括号里面的元素,合并到arr数组里面,并作为返回值,返回给新的数组sum
6.截取数组:
-
var sum = arr.slice(1,3); 意思是截取从下标1开始,一直截取到下标为3的位置但不包括3,也是作为返回值,返回给新的数组sum
7.sort排序方法:
-
var sum = arr.sort(function(a,b){
return a-b; //升序
// return b-a;//降序
})
console.log(sum);
8.valueOf()方法(不常用的方法)
var sum = arr.valueOf(); console.log(sum); // 意思是获取数组的基本值,返回的是原数组。
9.toString();方法:
-
var sum = arrr.toString(); // 意思是强制类型转换,把数组转换为字符串并返回
-
console.log(sum);
10.join();方法:
-
console.log(arr.join();); //意思是会把数组重组成字符串输出,如果括号里面不写东西,就会把数组的元素以逗号连接输出
-
console.log(arr.join('/')); //意思是会把数组重组的字符串之间用 / 连接
数组迭代方法 ---(都得结合函数)
1.every();方法
-
翻译过来就是检查数组是不是都满足一个条件,都满足就会返回一个布尔值true,有一个不满足就会立即终止,不会查看后面的元素,并返回一个布尔值false
-
var sum = arr.every(function(zhi,xiabiao,shuzu){
// console.log(zhi); 只会显示第一个值
// console.log(xiabiao); 只会显示第一个元素的下标0
// console.log(shuzu); 会打印整个数组的元素
return zhi>2;
});
console.log(sum);
2.some()方法
-
翻译过来就是检查数组有没有满足条件的元素,只要有一个就会返回一直布尔值true ,并立即终止,如果都没有满足的,就会返回一个布尔值false
-
var sum = arr.some(function(zhi,xiabiao,shuzu){
return zhi<2;
});
console.log(sum);
3.filter()方法
-
翻译过来就是过滤掉满足条件的数组元素,并返回到一个新数组里面,需要新的数组来接收
-
var sum = arr.filter(function(zhi,xiabiao,shuzu){
return zhi>3; //过滤掉满足值大于3的元素
});
console.log(sum);
4.map();方法:
-
翻译过来就是为数组元素或者满足条件的元素修改元素的值,并返回到一个新的数组里面,需要一个新的数组来接收返回结果
-
var sum = arr.map(function(zhi,xiabiao,shuzu){
if(zhi>3){
return zhi+10;
}
else{ //为满足大于3的数组元素加上10,如果不写else,那么不满足就会返回一个undefined,所以必须加上else
return zhi;
}
});
console.log(sum);
5.forEach();方法:
-
翻译过来就是单纯的循环,没有返回值
-
var sum = [];
arr.forEach(function(zhi,xiabiao,shuzu){
if(zhi>3){
sum.unshift(zhi);
}
});
console.log(sum);
6.find();方法
-
翻译过来就是检查数组中第一个满足条件的元素,如果检查到满足条件的第一个元素,就会返回该元素的值,如果没有找到,则会返回一个undefined,需要一个新的变量来接收
-
var sum = arr.find(function(zhi,xiabiao,shuzu){
rtrurn zhi>3; //意思是找到数组中第一个大于三的元素,并返回
});
console.log(sum); //输出的是该元素的值
7.reduce();方法
-
翻译过来就是把数组中的元素进行缩减,缩减为单个值,依次从左到右开始缩减,一般用于商城类系统,来得到商品的价格总计,也是,需要一个新的变量来接收
-
let arr = [1,2,3,4]; //原数组
-
let sum = arr.reduce(function (prev, next) {
return prev + next;
}, 0);
console.log(sum); //10