数组的方法-----总结
//数组的方法
var arr = [5, 6];
//在末尾添加一个用push()方法
arr.push(1, 2, 4);
console.log(arr);
//删除末尾的一个元素,返回删除的元素
arr.pop();
console.log(arr);
//在数组的最前面添加一个元素
arr.unshift(1);
console.log(arr);
//删除数组最前面的一个元素
arr.shift();
console.log(arr);
//截取数组中的某些内容,按照数组的索引来截取
//三个参数 splice(从哪一个索引位置开始,截取多少个,替换的新元素)
arr.splice(2, 1, 4);
console.log(arr);
//用来反转数组使用的
arr.reverse();
console.log(arr);
//把多个数组进行拼接
arr2 = [7, 8];
var res1 = arr.concat(arr2, 9, [100, 200]);
console.log(res1);
//把数组里面的每一项内容链接起来,变成一个字符串
var arr3 = [1, 2, 3, 4, 5];
var res2 = arr3.join("-");
console.log(res2);
//复制数组的一部分
//参数 两个 开始位置 结束位置,不包含结束位置
var res3 = arr.slice(1, 3);
console.log(res3);
//查找元素的第一次出现的下标 ,如果找到返回下标,找不到返回 -1
var res4 = arr.indexOf(6);
console.log(res4);
//是用来给数组排序的(默认按照字典排序 先按照第一位排序-如果第一位相等就按照第二位)
var arr4 = [3, 5, 1];
arr4.sort();
console.log(arr4);
//升序
arr4.sort(function (a, b) {
console.log(a, b);
return a - b;
});
console.log(arr4);
//降序
arr4.sort(function (a, b) {
console.log(a, b);
return b - a;
});
console.log(arr4);
//forEach
// var arr = [2, 3, 4, 5, 6, 7];
arr.forEach(function (v, i, a) {
console.log(111);
console.log(v, i);
console.log(a);
});
arr.forEach(function (v) {
console.log(v);
});
arr.forEach(function (v, i) {
//需先定义v
console.log(i);
});
//map(),会返回一个新数组
var resArr = arr.map(function (v, i, a) {
console.log(v, i, a);
//return 映射的规则
return v * 1.3;
});
console.log(resArr);
//filter 过滤,筛选
var arr2 = [1, 2, 4, 55, 66, 12, 2, 3, 5];
var resArr2 = arr2.filter(function (v) {
// return 过滤条件 筛选出来
return v >= 18;
});
console.log(resArr2);
var arr3 = [
{ name: "zhangsan", age: 10 },
{ name: "lisi", age: 20 },
{ name: "wangwu", age: 30 },
];
var resArr = arr3.filter(function (v) {
return v.age >= 18;
});
console.log(resArr);
var resArr1 = arr3.filter(function (v) {
//名字包含li
// return v.name.includes("li");
//是否以wang开头
return v.name.startsWith("wang");
});
console.log(resArr1);
var arr = [
{ name: "zhangsan", age: 10 },
{ name: "lisi", age: 20 },
{ name: "wangwu", age: 30 },
];
//判断一些元素是否满足条件 some
var flag = arr.some(function (v) {
return v.age >= 18;
});
console.log(flag); //true
//判断所有元素是否满足条件 every
var flag = arr.every(function (v) {
return v.age > 18;
});
console.log(flag); //false
//根据条件查找 满足条件的第一个元素
var obj = arr.find(function (v) {
return v.name == "wangwu";
});
console.log(obj);
//根据条件查找 满足条件的第一个元素的下标
var index = arr.findIndex(function (v) {
return v.name == "lisi";
});
console.log(index);
//reduce 数组有很多元素,经过reduce处理变成一个值
var arr = [4, 5, 6, 7, 8];
//求和的应用
// 有两个参数,第一个参数是一个函数,第二个参数是初始值,0
var res = arr.reduce(function (sum, v) {
console.log(sum, v);
return sum + v;
}, 0);
console.log("和为:" + res);
//如果不传第二个参数,sum的初始值为数组的第一个元素
var res = arr.reduce(function (sum, v) {
console.log(sum, v);
return sum + v;
});
console.log("和为:" + res);