zoukankan      html  css  js  c++  java
  • js 操作数组

    数组的增删

    数组的尾部插入一个元素

    var nums = [0,1,2,3,4];

    nums.push(5,6,6);

    //[0,1,2,3,4,5,6,6]

    删除数组尾部的元素

    var nums = [0,1,2,3,4,5];

    nums.pop()

    // [0, 1, 2, 3, 4]

    数组的头部添加一个元素

    var nums = [0,1,2,3,4,5];

    nums.unshift(-1);

    //[-1, 0, 1, 2, 3, 4, 5]

    nums.unshift(-2,-3);

    //[-2, -3, -1, 0, 1, 2, 3, 4, 5]

    数组的首位删除元素

    var nums = [0,1,2,3,4,5];

    nums.shift();

    // [1, 2, 3, 4, 5]

    数组的任意位置添加和删除元素

    var nums = [0,1,2,3,4,5,6,7];

    nums.splice(2);

    //[0, 1]

    var nums = [0,1,2,3,4,5,6,7];

    nums.splice(2,1);

    //[0, 1, 3, 4, 5, 6, 7]

    var nums = [0,1,2,3,4,5,6,7];

    nums.splice(2,1,"a","b","c");

    //[0, 1, "a", "b", "c", 3, 4, 5, 6, 7]

    slice()返回参数选定的范围的数组

    数组的中级

    concat():合并数组,可以合并一个或多个数组。会按照参数顺序依次合并进想要合并的数组

    join():把所有的数组元素依照分隔符(也就是参数)链接成一个字符串。如果不传入参数则以","逗号分隔。该方法同样会生成一个新的字符串结果。

    some()和every():some()方法,会遍历数组中的每个元素,直到返回false结束!而every()呢,与some()相反,直到返回true结束!some用来判断本数组中是否存在(至少有一个)符合传入函数的条件的值,而every则判断是否本数组中每一个值都符合条件

    forEach():该方法中可以有三个参数(item,index,arr)分别是调用forEach数组中的每一项元素,每一项元素的下标,调用forEach方法的数组。该方法会遍历数组中的每一项,为每一项执行你想做的事,不更改原数组并且没有返回值。但是我们可以自己通过数组的索引来修改原来的数组

    var nums = [1,2,3,4,5,6,7,8,9,10];

    var newNumsB = [];

    var newNumsA = nums.forEach(function (item,index,arr){

              newNumsB.push(item + 100)

               arr[index] = item + 10;

    })

    console.log(nums)

    //[11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

    console.log(newNumsB)

    //[101, 102, 103, 104, 105, 106, 107, 108, 109, 110]

    console.log(newNumsA)

    //undefined

    map():简单来说就是一个映射,但是map必须要有返回值,并且map会返回一个新数组

    var nums = [1,2,3,4,5,6,7,8,9,10];

    var newMapNums = nums.map(function (item,index,arr) {

              console.log(item,index,arr);

              return item * item;

    })

    console.log(newMapNums)

    // [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

    filter():过滤 你(调用filter方法的数组中每一个元素)是否能通过我(filter的function方法)的判定,如果可以就会成为我(返回的新数组)的一员

    var nums = [1,2,3,4,5,6,7,8,9,10];

    var newNums = nums.filter(function(item,index,arr){

              return item > 5

    })

    console.log(newNums)

    //[6, 7, 8, 9, 10]

    reduce():reduce(function(total,item,index,arr){},initalVal)  total其实就是指你之前所累加的值,而initalVal就是你最初的total是多少

    var nums = [1,2,3,4,5,6,7,8,9,10];

    var newNums = nums.reduce(function(total,item,index,arr){

            return total + item*100

    },100)

    console.log(newNums)

    //5600

    indexOf是返回与参数匹配的第一个元素的索引,lastIndexOf返回与参数匹配的最后一个元素的索引。

     
    再三须慎意,第一莫欺心
  • 相关阅读:
    REST-framework快速构建API--生成Swagger接口文档
    Django后端彻底解决跨域问题
    Zabbix实战-简易教程--DB类--ClickHouse
    Django权限控制进阶
    django自定义rbac权限组件(二级菜单)
    jQuery事件委托
    model中的Meta类
    django中ModelForm解决多表单组合显示问题
    Django请求的生命周期
    AJAX
  • 原文地址:https://www.cnblogs.com/otsf/p/8819149.html
Copyright © 2011-2022 走看看