zoukankan      html  css  js  c++  java
  • 数组常用的方法

     // 1.0 Array.from() 方法从一个类似数组或可迭代的对象中创建一个新的数组实例。
        const bar = ["a", "b", "c"];
        Array.from(bar);
        console.log(bar);
        console.log(Array.from('foo'));
    
        // 2.0 concat() 方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。
        let arr1 = ["a", "b", "c"];
        let arr2 = ["d", "e", "f"];
        let arr3 = arr1.concat(arr2);
        console.log(arr3);// [ "a", "b", "c", "d", "e", "f" ]
        console.log(arr1);// ["a", "b", "c"]
        console.log(arr2);// ["d", "e", "f"]
    
    
        // every() 方法测试数组的所有元素是否都通过了指定函数的测试。
        function isBigEnough(element, index, array) {
          return (element >= 10);
        }
        var passed = [12, 5, 8, 130, 44].every(isBigEnough);// passed is false
        console.log("1",passed);
        passed = [12, 54, 18, 130, 44].every(isBigEnough); // passed is true
        console.log("2",passed);
    
    
        // filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。
        function isBigEnough(value) {
          return value >= 10;
        }
        var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
        console.log('filtered',filtered);//[12,130,44]
    
        // map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。
        let numbers = [1, 5, 10, 15];
        let doubles = numbers.map((x) => {
           return x * 2;
        });
        console.log("doubles",doubles);
    
    
        var kvArray = [{key: 1, value: 10},
                   {key: 2, value: 20},
                   {key: 3, value: 30}];
        var reformattedArray=[];
        reformattedArray = kvArray.map(obj=>{
           var rObj = {};
           rObj[obj.key] = obj.value;
           return rObj;
        });
        console.log('reformattedArray',reformattedArray);
    
    
        // some() 方法测试数组中的某些元素是否通过由提供的函数实现的测试。
        const isBiggerThan10 = (element, index, array) => {
          return element > 10;
        }
        [2, 5, 8, 1, 4].some(isBiggerThan10);  // false
        [12, 5, 8, 1, 4].some(isBiggerThan10); // true
    
        // find() 方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。
        function isBigEnough(element) {
          return element >= 15;
        }
        var index=[12, 5, 8, 130, 44].find(isBigEnough); // 130
        console.log('index',index);
    
        // findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引。否则返回-1。
        function isBigEnough(element) {
          return element >= 15;
        }
        var index1=[12, 5, 8, 130, 44].findIndex(isBigEnough); // 3
        console.log("index1",index1);
    
    
        // forEach() 方法对数组的每个元素执行一次提供的函数。
        let a = ['a', 'b', 'c'];
        a.forEach(function(element,index,array) {//currentValue(当前值),index(索引),array
            console.log(element);
            console.log(index);
            console.log(array);
        });
    
        // includes() 方法用来判断一个数组是否包含一个指定的值,如果是,酌情返回 true或 false。
        let s = [1,2,3];
        console.log(s.includes(2)); // true
        console.log(s.includes(4)); //false
    
        // indexOf()方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。
        let f = [2, 9, 7, 8, 9];
        f.indexOf(2); // 0
        f.indexOf(6); // -1
        f.indexOf(7); // 2
        f.indexOf(8); // 3
        f.indexOf(9); // 1
    
        // lastIndexOf() 方法返回指定元素(也即有效的 JavaScript 值或变量)在数组中的最后一个的索引,如果不存在则返回 -1。从数组的后面向前查找,从 fromIndex 处开始。
    
        // join() 方法将数组(或一个类数组对象)的所有元素连接到一个字符串中。
        // keys() 方法返回一个新的Array迭代器,它包含数组中每个索引的键。
        var arr = ["a", , "c"];
        var denseKeys = [...arr.keys()];
        var dd=arr.keys();
        console.log(denseKeys);
        console.log(dd);
    
    
        // pop()方法从数组中删除最后一个元素,并返回该元素的值。此方法更改数组的长度。
        // push() 方法将一个或多个元素添加到数组的末尾,并返回数组的新长度。
        // shift() 方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。
        // unshift() 方法将一个或多个元素添加到数组的开头,并返回新数组的长度。
        let b = [1, 2, 3];
        b.length; // 3
        b.pop(); // 3
        console.log(b);
    
        // reduce() 方法对累加器和数组中的每个元素 (从左到右)应用一个函数,将其减少为单个值。
        var total = [0, 1, 2, 3].reduce(function(sum, value) {
          return sum + value;
        }, 0);
        console.log(total);
    
        // reverse() 方法将数组中元素的位置颠倒。
        // slice()   方法返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象。原始数组不会被修改。
        var berfore=['a','b','c','d'];
        var sliced=berfore.slice(1,3);
        console.log('berfore',berfore);
        console.log('sliced',sliced);
    
        // sort() 方法在适当的位置对数组的元素进行排序,并返回数组。 sort 排序不一定是稳定的。默认排序顺序是根据字符串Unicode码点。
    
        // splice() 方法通过删除现有元素和/或添加新元素来更改一个数组的内容。
        // toString() 返回一个字符串,表示指定的数组及其元素。
    
        // 3.0 copyWithin() 方法浅复制数组的一部分到同一数组中的另一个位置,并返回它,而不修改其大小。
        // arr.copyWithin(目标索引, [源开始索引], [结束源索引])
        console.log(["alpha", "beta", "copy", "delta"].copyWithin(1, 2, 3));
    
        // 4.0 entries() 方法返回一个新的Array Iterator对象,该对象包含数组中每个索引的键/值对。
        var arr = ["a", "b", "c"];
        var iterator = arr.entries();
        console.log(iterator);
        console.log(iterator.next().value);
  • 相关阅读:
    struts2 <s:iterator> 遍历方法
    JSP 基础之 JSTL <c:forEach>用法
    struts2 中 Session的使用简介
    Struts2 工作流程
    Aandroid Error之 新导入工程报Unable to resolve target 'android-18'和R cannot be resolved
    纯Html+Ajax和JSP两者对比的个人理解
    移动互联网App兼容性测试
    【转】【Mac】invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library
    【转】Mac使用apt-get
    有趣网址之家 – 收藏全球最有趣的网站
  • 原文地址:https://www.cnblogs.com/zhuMother/p/12202374.html
Copyright © 2011-2022 走看看