数组Array

  • 删除一个索引位置的多个元素:arr.splice(a,b) a:删除开始的位置,b:从a开始删除的数组元素个数;
    此方法返回的是删除的元素,组成数组返回,并会对原数组产生影响

  • 复制一个数组:arr.slice();

  • 访问数组元素时,如果索引值是无效的,js不会报错,会返回undefined

  • 在JavaScript中,以数字开头的属性不能用点号引用,必须用方括号,且必须用‘’引起来

  • Array.of():根据一组参数来创建新的数组实例,支持任意的参数数量和类型

实例方法

  • concat():用于合并两个及多个数组/值,不会改变现有数组,返回一个新数组
  • copyWithin(target,start,end):从start开始复制到end,粘贴到target的位置;返回改变后的数组,若值为负数,则从数组后面开始计数(第一个是-1)

以下两个很类似可以对比理解:

  • arr.entries()返回一个新的Array Iterator对象,该对象有一个方法next(),用于遍历对象,iterator.next().value获取原数组的键值对。例如:[0:a];
    1. iterator.next(); /*{value: Array(2), done: false}
    2. done:false
    3. value:(2) [0, "a"]
    4. __proto__: Object
    5. */
  • Array Iterator对象:{value:Array(2),done:false}done:指示迭代器是否完成
    • arr.values():返回一个数组迭代器对象,包含数组每个索引对应的值(数组元素);用next().value方法遍历的是每个数组元素;例如:”a”;
      1. iterator.next(); // Object { value: "a", done: false }
  • arr.every(callback(element[, index[, array]])[, thisArg]):测试一个数组内的所有元素是否都能通过某个指定函数的测试,返回一个布尔值;若该数组为空,则返回结果为true

  • arr.fill(value,start,end)用一个固定值value填充一个数组从start(默认0)到end(默认arr.length)索引值内的全部元素。不包括end

  • arr.filter()将通过其提供的函数的所有数组元素存在一个新数组中返回

  • arr.flatMap()每个元素执行函数,然后将结果压缩成一个新数组;返回一个新的数组,其中每个元素都是回调函数的结果,并且结构深度depth值为1;

  • arr.forEach()不对数组内为初始化的值进行操作,稀疏数组

  • Array.from(arrayLike,mapFn,thisArg)对一个类数组或可迭代对象创建一个新的、浅拷贝的数组实例。arrayLike:想要转化成数组的伪数组或可迭代对象目标

  • arr.includes(要查的值,从哪个索引开始):判断一个数组是否包含一个指定的值,如果包含就返回true,否则返回false;

  • indexOf(要查的值,从哪个索引开始)返回某个元素值的第一个索引值,如果找不到则返回-1

  • arr.join(合并元素时的分隔符):将数组所有元素连接成一个字符串。返回这个字符串

  • arr.map(函数)将该数组中每个元素调用函数的返回值存在新数组中返回

  • Array.of(构成新数组的参数):

    1. Array.of(7); // [7] 返回新的数组
    2. Array(7); // [ , , , , , , ] 构造函数
  • arr.reduce()对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。每个元素都去执行其内部函数,并将返回值在每个迭代中记住,最后形成最终的单个返回值返回

  • arr.reduceRight()从右到左取元素,同上

  • arr.reverse()颠倒数组返回该数组。会改变原数组

  • arr.slice(开始复制的位置,结束复制的位置)返回一个新的数组,包含复制的数组元素,不会影响原数组

  • arr.some(测试函数)判断是否有数组元素能够通过提供的函数测试(至少有一个)。返回Boolean类型的值,若为空数组则false

  • arr.sort(排序采用的方法):compareNumber(a,b){return a - b;},不加方法按照字符串进行比较,加了以后按照该函数指定的顺序进行排列

  • arr.splice(开始的索引,删除的位数,用什么替换)

  • arr.toString():返回一个含有数组所有元素的字符串。在数组和字符串相加时,会自动调用该函数进行隐式转换

    1. var arr = [1,2,3];
    2. console.log(arr + 'hello');//"1,2,3hello"

Boolean对象

如果省略或值0-0nullfalseNaNundefined,或空字符串(""),该对象具有的初始值false

所有其他值,包括任何对象,空数组([])或字符串"false",都会创建一个初始值为true的对象。

值不为null或undefined的对象,在充当条件语句时,都将转为true