关于javascript:前端笔记数组

原位批改

sortreversesplice 办法批改的是数组自身

数组办法

// 增加、删除元素
arr.push(...items) // 从尾端增加元素
arr.pop() // 从尾端提取元素
arr.shift() // 从首端提取元素
arr.unshift(...items) // 从首端增加元素
/* tips: 1、push 和 unshift 办法都能够一次增加多个元素。
         2、push、pop办法运行的比拟快,而shift、unshift比较慢 */

// 重要罕用办法
let deleteItem = arr.splice(start,deleteCount,e1,e2,...) // 从start开始,删除deleteCount个元素,增加e1,e2,...,返回被删除的项
arr.slice(start,end) // 将start到end(不蕴含)之间的项复制到一个新的数组
arr.concat(arg1,arg2...) // 承受任意数量的参数(数组/值),返回新数组
/* tips: 1、通常只复制数组中的元素。其余类数组对象,会被作为一个整体增加
         2、例外:类数组的对象具备 Symbol.isConcatSpreadable 属性 */
arr.forEach(func)

// 数组中搜寻
arr.indexOf(item, index) // 从index开始搜寻item,否则返回-1。
arr.lastIndexOf(item, index) // 同上,只是从右向左搜寻。
arr.includes(item, index) // 从index开始搜寻 item,如果找到则返回true
arr.find(func) // 搜寻使函数返回true的第一个项
arr.findIndex(func) // 搜寻使函数返回true的第一个项的index
arr.filter(func) // 返回的是所有匹配元素组成的数组

// 转换数组
arr.map(func) // 对数组的每个元素都调用函数,并返回后果数组
arr.sort(sortFunc) // 对数组进行 原位(in-place) 排序,更改元素的程序
arr.reverse() // 反转
str.split(divider) // 通过给定的分隔符divider将字符串宰割成一个数组,有可选的第二个数字参数,对数组长度的限度。如果提供了,那么额定的元素会被疏忽。
arr.join(divider) // 创立一串由divider粘合的字符串

// 不罕用的办法
arr.reduce((prevResult,item,index,array),initial) 
/* tips: 1、该函数一个接一个地利用于所有数组元素,并将其后果保留到下一个调用。
         2、有初始值时作为第一个prevResult,没有时数组第一个元素作为prevResult,从第2个元素开始迭代 */
arr.reduceRight((prevResult,item,index,array),initial) // 同上,从右到左
Array.isArray(arr) // 判断是否为数组
arr.some(func) // 对数组的每个元素调用函数func。如果任何后果为true,则返回true
arr.every(func) // 对数组的每个元素调用函数func。如果所有后果为true,则返回true
arr.fill(value,[start,end]) // 填充数组
arr.copyWithin(target,start,end) // 从start到end的元素复制到本身的target地位
arr.flat([depth]) // 从多维数组创立一个新的扁平数组,depth默认为1 => arr.flatMap(func)

解构赋值

  • 根底知识点:

    1. 解构不会批改数组自身
    2. 数组中不想要的元素也能够通过增加额定的逗号来把它抛弃
      let [firstName, , title] = ["Julius", "Caesar", "Consul"]
    3. 能够将其与任何可迭代对象一起应用,而不仅限于数组 [a, b, c] = "abc"
    4. 能够在等号左侧应用任何“能够被赋值的”货色
    5. 能够将 .entries() 办法与解构语法一起应用,来遍历一个对象的“键—值”对
      for (let [key, value] of Object.entries(user)) {}
    6. 用于替换变量值的典型技巧:[guest, admin] = [admin, guest]
  • ...restrest 的值就是数组中剩下的元素组成的数组。不肯定要应用变量名 rest,也能够应用其余的变量名,只有确保它后面有三个点,并且在解构赋值的最初一个参数地位上。
  • 对象解构:let {width: w = 100, height: h = 200, title} = options;
  • 嵌套解构

    let {
        size: { width,height}, // 对象
        items: [item1, item2], // 数组
        title
    } = options;

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理