JS复习笔记--Array

JS复习笔记--Array

创建一个数组的方式

let arr = ['one', 'two'];
let arr = new Array();

通过索引 (访问/添加) 数组元素

let arr = ['one', 'two'];
console.log(arr[1]);  // two

let arr[2] = 'three';
console.log(arr[2]); // three

修改数组

  • arr.push(): 将一个元素插入到数组后面,并返回插入位置的索引值
    let arr = ['one', 'two', 'three']
    let newArr = arr.push('four');  // ['one', ... ,'four']  newArr: 4
    
  • arr.pop(): 将数组的最后一个元素删除,并返回
    let arr = ['one', 'two', 'three']
    let newArr = arr.pop()
    

遍历数组

  • every(fun): 遍历数组,直到返回一个false,否则返回turn
      arr.every(function(element, index, array) {
        return element > 10      //返回turn 或  false
      })
    
  • fill(value, start, end) 参数可选 :用一个固定值填充一个数组中从起始索引到终止索引内的全部元素.
    • value: 用来填充的值
    • start: 起始索引,默认为0
    • end: 终止索引,默认值为this.lenght
      var numbers = [1, 2, 3]
      numbers.fill(1);
    
      // results in [1, 1, 1]
    
  • forEach(element, index, array) 方法对数组的每个元素执行一次提供的函数。
      let a = ['a', 'b', 'c'];
    
      a.forEach(function(element) {
          console.log(element);
      });
    
      // a
      // b
      // c
    
  • filter() 方法创建一个【新数组】,其包含通过所提供函数实现的测试的所有元素。
      function bigTen(value) {
        return value >= 10;
      }
    
      var filtered = [12, 5, 8, 130, 44].filter(bigTen);
      // filtered is [12, 130, 44]
    
      // ES6 way
      const bigTen = (value) => {value >= 10;}
    
      let [...spraed]= [12, 5, 8, 130, 44];
    
      let filtered = spraed.filter(bigTen);
    
      // filtered is [12, 130, 44]
    
  • findIndex(element, index, array) 返回数组中满足提供的测试函数的第一个元素的索引,否则返回 -1
      function isBigEnough(element) {
        return element >= 15;
      }
    
      [12, 5, 8, 130, 44].findIndex(isBigEnough); 
      // index of 4th element in the Array is returned,
      // so this will result in '3'
    
  • find(element, index, array) 返回数组中满足提供测试函数的第一个元素的值,否则返回 undefined
    • find 方法不会改变数组。
 function isBigEnough(element) {
   return element >= 15;
 }

 [12, 5, 8, 130, 44].find(isBigEnough); // 130

方法

Array.from()方法从一个类似数组或可迭代的对象中创建一个新的数组实例。

  const bar = ["a", "b", "c"];
  Array.from(bar);
  // ["a", "b", "c"]

  Array.from('foo');
  // ["f", "o", "o"]

Array.isArraay() 用于确定传递的值是否是一个Array。

  Array.isArray([1, 2, 3]);  
  // true
  Array.isArray({foo: 123}); 
  // false
  Array.isArray("foobar");   
  // false
  Array.isArray(undefined);  
  // false

Array.of()方法创建一个具有可变数量参数的新数组实例,不考虑参数的数量或类型。

  Array.of(1);         // [1]
  Array.of(1, 2, 3);   // [1, 2, 3]
  Array.of(undefined); // [undefined]

  兼容:
  if(!Array.of) {
    Array.of = function () {
      return Array.prototype.slice.call(arguments);
    }
  }

concat() 方法用于合并两个或者多个数组,【此方法不会更改现有数组,而是返回一个新的数组】

  var arr1 = ['a', 'b', 'c'];
  var arr2 = ['d', 'e', 'f'];

  var arr3 = arr1.concat(arr2);

  // arr3 is a new array [ "a", "b", "c", "d", "e", "f" ]

未完 ····

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容