JavaScript数组

作者: consolelog | 来源:发表于2020-11-21 12:22 被阅读0次

数组可以用来存储一组有序的数据集合,数组里面可以存放任意数据类型的数据。

创建数组

//方式一 字面量创建
var arr = [];
var arr = [1, 2, 3, 4, 'a', 'b', [1, 2, 5]];

//方式二 构造函数创建
var arr = new Array(5); //只有一个值代表数组长度
var arr = new Array(1, 2, 3, 4, 't');

数组遍历

当我们需要数组中某个元素是,通过arr[subscript]就可取出来(这个下标从0开始)。并且每一个数组都已一个length属性,代表数组的长度,我们可以用这个属性来遍历数组

var arr = [1, 2, 3, 4, 5, 6];
for (let i = 0; i < arr.length; i++) {
    console.log(arr[i]);
}

增删元素

  • arr.push() 接收一个或多个参数,把这些值依次追加到指定数组的最后
  • arr.pop()移除数组的最后一项,并返回该项的值
  • arr.unshift() 接收一个或多个参数,把这些值依次追加到指定数组的开始
  • arr.shift() 移除数组的第一项,并返回该项的值
  • arr.splice(开始删除元素的位置, 删除的个数,替换的元素1,替换的元素2,...)可以同时实现删除,添加或替换
var arr = [1, 2, 3, 4, 5, 6];
arr.splice(0, 2, 8, 9);
console.log(arr); //[8, 9, 3, 4, 5, 6]

数组排序

arr.sort(function)接收一个函数作为参数,在函数里面指定排序方式

var arr = [1, 233, 32, 43, 51, 666];
//按照第一位字符的ASCII大小排序
arr.sort()
console.log(arr); // [1, 233, 32, 43, 51, 666]

var arr = [1, 233, 32, 43, 51, 666];
//按照大小排序
arr.sort((a, b) => a - b);
console.log(arr); // [1, 32, 43, 51, 233, 666]

var arr = [{
        age: 18,
        name: "张三"
    },
    {
        age: 20,
        name: "李四"
    },
    {
        age: 15,
        name: "王五"
    },

]
//按照对象属性排序
arr.sort((a, b) => a.age - b.age);
console.log(arr);
// (3) [{…}, {…}, {…}]
// 0: {age: 15, name: "王五"}
// 1: {age: 18, name: "张三"}
// 2: {age: 20, name: "李四"}

数组其他方法

  • arr.forEach(function) 循环遍历数组
var arr = [1, 2, 3, 4, 5, 6];
arr.forEach((value, index, arr) => {
    //第一个参数为数组的项,第二个参数为数组的下标,第三个参数为数组本身
    console.log(value,index + ",");// 1 0,  2 1,  3 2,  4 3,  5 4,  6 5 
}) 

  • arr.every(function) 针对数组的元素做些判断,如果结果都为true,则返回的结果为true
var arr = [1, 2, 3, 4, 5, 6];
var result = arr.every((value, index) => {
   return !isNaN(value);
}) 

console.log(result); //true

  • arr.some(function) 针对数组的元素做些判断,如果有一个为true,则返回的结果为true
var arr = [1, 2, 3, 4, 5, 6];
var result = arr.some((value, index) => {
   return value == 1;
}) 

console.log(result); //true

  • arr.filter(function) 针对数组的元素做些判断,满足的元素会以一个数组返回
var arr = [1, 2, 3, 4, 5, 6];
var result = arr.filter((value, index) => {
    return value > 3;
})

console.log(result); //[4, 5, 6]

  • arr.map(function) 返回一个新数组
var arr = [1, 2, 3, 4, 5, 6];
var result = arr.map((value, index) => {
    return value > 3;
})

console.log(result); // [false, false, false, true, true, true]
  • arr.join(str) 将数组拼接成字符串
  • arr.concat(arr1)数组拼接
  • arr.reverse()倒序并返回
  • arr.indexOf(查找项) 查找数组中是否有指定字符
  • arr.slice(开始位置,结束位置) 结束指定内容并返回
  • Array.isArray(arr) 判断arr是不是数组

相关文章

网友评论

    本文标题:JavaScript数组

    本文链接:https://www.haomeiwen.com/subject/zsbsiktx.html