前端学习笔记(二)

点击蓝字关注我吧

javascript数组相关

数组的创建

var arr = [1,2,3,4,6];
var arr2 = new Array(1,2,3,4);
//注意:这里创建的是一个大小为8的数组,而不是只有一个元素8的数组
var arr3 = new Array(8);
//es6的array语法,创建数组大小为1,元素为8的数组
var arr4 = Array.of(8);

数组的成员

arr[8] = 2000;//虽然arr的长度为5但是可以这样写 所以array的长度变成9
arr['age'] = '18';//非数字下标的数组成员不计算在数组的长度之内

数组的循环

for(var i=0;i<arr.length;i++){
 console.log(i,arr[i]);
}

//中间的undefi不会被输出 但是非数字下标的也会被输出
for(var v in arr){
 console.log(v);
}

//i从1开始
for(var i of arr2){
 console.log(i-1,arr2[i-1]);

判断一个变量是否是数组的方法

通过构造函数来判断一个变量是不是数组

console.log(arr.constructor==Array);//结果为true

通过Array的isArray方法

console.log(Array.isArray(arr));

数组的一些方法

var arr=[1,2,3,4,6];
arr.push("10");//在数组后面加元素
arr.pop();//删除数组最后一个元素
arr.shift();//删除数组最前面的一个数字
arr.unshift("99");//在数组的最前面增加
console.log(arr.indexOf(22));//当没找到时indexOf返回-1
console.log(arr);
//arr中截取数组片段[2,4),返回值为截取的新数组,不影响原有的数组
var n = arr.slice(2,4);
console.log(n);

// splice在arr中删除从第二个元素开始的第三个元素 返回值为删除的元素 影响原数组
var n = arr.splice(2,3);
console.log(arr,n);
//将数组的所有成员用连接符"="连接成一个字符串
console.log(arr.join("="));
//将数组转换成字符串的方法
arr.join("");

//concat:连接多个数组
//reverse:将数组元素倒序
console.log(arr.concat(arr).reverse());

数组的扩展

var arr = [32, 23, 66, 77, 88, 54, 93];
//检测数组里是否有符合条件的值 符合返回true否则返回false
var rs = arr.some(function (v, i) {
 return v > 80;
});

//所有成员满足条件返回true
var rs = arr.every(function (v, i) {
 return v >= 20;
});

//返回一个新的数组从小排到大
var rs = arr.sort(function (a, b) {
 return a - b;
});

//返回一个新的数组从大排到小
var rs = arr.sort(function (a, b) {
 return b - a;
});


//返回满足条件的数组成员,返回值为一个新的数组
var rs = arr.filter(function (v, i) {
 return v > 70 && v < 90;
});

//根据已有数组生成一个该数组的映射(新的数组),es6的语法
var rs = arr.map(function (v, i) {
 return i * i;
});

var arr = [1, 2, 3, 4, 5];

//pre是前一个元素 cur是当前元素 在这里是将数组的所有元素进行求和
var rs = arr.reduce(function (pre, cur) {
 return pre + cur;
});
console.log(rs);

觉得可以的话就点个在看吧

640

喜欢就关注我们吧!

发布了18 篇原创文章 · 获赞 20 · 访问量 1461

猜你喜欢

转载自blog.csdn.net/qq_40401866/article/details/96072428