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返回与参数匹配的最后一个元素的索引。

     
    再三须慎意,第一莫欺心
  • 相关阅读:
    To select the file to upload we can use the standard HTML input control of type
    Cascading Menu Script using Javascript Explained
    网站首页head区代码规范
    轻松掌握 Java 泛型
    JDK 5.0 中的泛型类型学习
    如何在firefox下获取下列框选中option的text
    是同步方法还是 synchronized 代码? 详解多线程同步规则
    javascript select option对象总结
    Select的动态取值(Text,value),添加,删除。兼容IE,FireFox
    javascript在ie和firefox下的一些差异
  • 原文地址:https://www.cnblogs.com/otsf/p/8819149.html
Copyright © 2011-2022 走看看