A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小刀葛小伦 于 2019-12-12 11:57 编辑

去重
巧用Set特性
[JavaScript] 纯文本查看 复制代码
const arr = [1, 2, 2, 3, 4, 7, 7]const uniqueArr = [...new Set(arr)]console.log(uniqueArr)// [1, 2, 3, 4, 7]某一个位置插入元素

改变原数组
[JavaScript] 纯文本查看 复制代码
const arr = [1, 2, 3, 5, 6, 7]arr.splice(3, 0, 4)console.log(arr)// [1, 2, 3, 4, 5, 6, 7]

不改变原数组
[JavaScript] 纯文本查看 复制代码
const arr = [1, 2, 4, 5]const indexNeededToInsert = 2const newArr = [...arr.slice(0, indexNeededToInsert), 3, ...arr.slice(indexNeededToInsert)]console.log(newArr)// [1, 2, 3, 4, 5]console.log(arr)// [1, 2, 4, 5]删除某一个位置的元素

不改变原数组
const arr = [1, 2, 3, 4, 5]const indexToBeRemoved = 3const filteredArr = arr.filter((_, index) => index !== indexToBeRemoved)console.log(filteredArr)// [1, 2, 3, 5]console.log(arr)// [1, 2, 3, 4, 5]
改变原数组
[JavaScript] 纯文本查看 复制代码
const arr = [1, 2, 3, 4, 5]const indexToBeRemoved = 3arr.splice(indexToBeRemoved, 1)console.log(arr)// [1, 2, 3, 5]获取数组最后一个元素

改变原数组
[JavaScript] 纯文本查看 复制代码
const arr = [1, 2, 3, 4, 5]const lastElement = arr.pop()console.log(lastElement)// 5console.log(arr)// [1, 2, 3, 4]

不改变原数组
[JavaScript] 纯文本查看 复制代码
const arr = [1, 2, 3, 4, 5]const lastElement = arr.slice(-1)[0]console.log(lastElement)// 5console.log(arr)// [1, 2, 3, 4, 5]

slice第一个参数如果是负数表示从后面开始数起的第几个元素,-1表示倒数第一个元素。

清空数组
[JavaScript] 纯文本查看 复制代码
const arr = [1, 2, 3, 4, 5]arr.length = 0console.log(arr)// []console.log(arr[0])// undefined
生成一定长度的数组


[JavaScript] 纯文本查看 复制代码
const newArr = new Array(10)console.log(newArr)// [ <10 empty items> ]

两个数组的交集


[JavaScript] 纯文本查看 复制代码
const arr1 = [1, 2, 3, 4]const arr2 = [2, 3]const intersectedArr = arr1.filter(item1 => arr2.includes(item1))console.log(intersectedArr)// [2, 3]

合并多个数组


[JavaScript] 纯文本查看 复制代码
const arr1 = [1, 2, 3]const arr2 = [4, 5, 6]const arr3 = [7, 8, 9]const mergedArr = [...arr1, ...arr2, ...arr3]console.log(mergedArr)// [1, 2, 3, 4, 5, 6, 7, 8, 9]

移除数组的虚假(falsy)值


[JavaScript] 纯文本查看 复制代码
const mixedArr = [0, “blue”, “”, NaN, 9, true, undefined, “white”, false]const trueArr = mixedArr.filter(Boolean);console.log(trueArr)// [“blue”, 9, true, “white”]

求和




[JavaScript] 纯文本查看 复制代码
const nums = [1, 2, 3, 4, 5]const sum = nums.reduce((currSum, num) => currSum + num)console.log(sum)// 15



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马