1. // Js数组方法示例
  2. const languages = ['java', 'python', 'go']
  3. const fruits = ['苹果', '香蕉', '梨']
  4. // concat()
  5. const concatArr = languages.concat(fruits)
  6. console.log('1. concat 两个数组拼接为新数据 :>> ', concatArr)
  7. // copyWithin()
  8. languages.copyWithin(2, 0)
  9. console.log('2. copyWithin 复制到指定位置。从指定位置开始复制 :>> ', languages)
  10. // entries()
  11. for (const iterator of languages.entries()) {
  12. console.log('3. entries 遍历数组的迭代器 :>> ', iterator[0], iterator[1])
  13. }
  14. // every()
  15. function checkAdult(content) {
  16. return content.length >= 2
  17. }
  18. console.log('4. every 检查元素是否都符合条件 :>> ', languages.every(checkAdult))
  19. // fill()
  20. languages.fill('java')
  21. console.log('5. fill 将数组数据刷为统一内容 :>> ', languages)
  22. // filter()
  23. const languagesFilter = languages.filter((ele, index) => {
  24. return ele.length > 2
  25. })
  26. console.log('6. filter 返回符合条件元素的新数组 :>> ', languagesFilter)
  27. // find()
  28. function checkAdultFind(content) {
  29. return content.length === 4
  30. }
  31. const ele = languages.find(checkAdultFind)
  32. console.log('7. find 返回符合条件的第一个元素 :>> ', ele)
  33. // findIndex()
  34. const indexes = languages.findIndex(checkAdultFind)
  35. console.log('8. findIndex 返回符合条件的第一个元素的索引 :>> ', indexes)
  36. // forEach()
  37. languages.forEach(element => {
  38. console.log('9. forEach 遍历数组元素 :>> ', element)
  39. })
  40. // from()
  41. const arrayFrom = Array.from(new Set(['java', 'python', 'go']))
  42. console.log('10. Array.from 创建新数组 :>> ', arrayFrom)
  43. // includes()
  44. console.log('11. includes 查询是否包含指定元素 :>> ', languages.includes('java'))
  45. // indexOf()
  46. let index = languages.indexOf('java')
  47. console.log('12. indexOf 返回元素(存在)在数组中的第一次出现的索引 :>> ', index)
  48. index = languages.indexOf('html')
  49. console.log('12. indexOf 返回元素(不存在)在数组中第一次数显的索引 :>> ', index)
  50. // isArray()
  51. console.log('13. Array.isArray 检查是否为数组类型 :>> ', Array.isArray(languages))
  52. // join()
  53. const languagesJoin = languages.join('-')
  54. console.log('14. join 将数组转为指定连接符的字符串 :>> ', languagesJoin)
  55. // keys()
  56. for (const iterator of languages.keys()) {
  57. console.log('15. keys 遍历数组的迭代器 :>> ', iterator)
  58. }
  59. // lastIndexOf()
  60. const lastIndex = languages.lastIndexOf('java')
  61. console.log('16. lastIndexOf 返回指定元素最后一次出现的索引 :>> ', lastIndex)
  62. // map()
  63. const languagesMap = languages.map((ele, index) => {
  64. return ele.toUpperCase()
  65. })
  66. console.log('17. map 遍历并调整为符合要求元素的新数组 :>> ', languagesMap)
  67. // pop()
  68. languages.pop()
  69. console.log('18. pop 删除并返回数组末尾元素 :>> ', languages)
  70. // push()
  71. languages.push('c++')
  72. console.log('19. push 添加新元素到数组末尾 :>> ', languages)
  73. // reduce()
  74. const languagesReduce = languages.reduce((content, item) => {
  75. return content + item
  76. })
  77. console.log('20. reduce 从左往右依次合并元素 :>> ', languagesReduce)
  78. // reduceRight()
  79. const languagesReduceRight = languages.reduceRight((content, item) => {
  80. return content + item
  81. })
  82. console.log('21. reduceRight 从右往左依次合并元素 :>> ', languagesReduceRight)
  83. // reverse()
  84. languages.reverse()
  85. console.log('22. reverse 翻转数组元素的顺序 :>> ', languages)
  86. // shift()
  87. const first = languages.shift()
  88. console.log('23. shift 删除并返回第一个元素 :>> ', first)
  89. // slice()
  90. const languagesSlice = languages.slice(0, 2)
  91. console.log('24. slice 获取数组某一块数据 :>> ', languagesSlice)
  92. // some()
  93. function checkAdultSome(content) {
  94. return content.length >= 2
  95. }
  96. console.log('25. some 存在符合条件的元素 :>> ', languages.some(checkAdultSome))
  97. // sort()
  98. languages.sort()
  99. console.log('26. sort 升序排序 :>> ', languages)
  100. // splice()
  101. languages.splice(2, 0, 'html')
  102. console.log('27. splice 添加一个新元素到指定位置 :>> ', languages)
  103. languages.splice(2, 1)
  104. console.log('27. splice 删除一个指定位置元素 :>> ', languages)
  105. // toString()
  106. console.log('28. toString 数组转为字符串 :>> ', languages.toString())
  107. // unshift()
  108. languages.unshift('css', 'js')
  109. console.log('29. unshift 添加新元素到数组开始位置 :>> ', languages)
  110. // valueOf()
  111. console.log('30. valueOf 返回数组原始值 :>> ', languages.valueOf())

新增&删除

  1. // push() 新增&尾位
  2. languages.push('c++')
  3. console.log('push 添加新元素到数组末尾 :>> ', languages)
  4. // pop() 删除&返回尾元素
  5. languages.pop()
  6. console.log('pop 删除并返回数组末尾元素 :>> ', languages)
  7. // unshift() 新增&首位
  8. languages.unshift('css', 'js')
  9. console.log('unshift 添加新元素到数组开始位置 :>> ', languages)
  10. // shift() 删除&返回首元素
  11. const first = languages.shift()
  12. console.log('shift 删除并返回第一个元素 :>> ', first)
  13. // splice()
  14. languages.splice(2, 0, 'html')
  15. console.log('27. splice 添加一个新元素到指定位置 :>> ', languages)
  16. languages.splice(2, 1)
  17. console.log('27. splice 删除一个指定位置元素 :>> ', languages)

遍历输出

  1. // forEach()
  2. languages.forEach(element => {
  3. console.log('9. forEach 遍历数组元素 :>> ', element)
  4. })
  5. // entries()
  6. for (const iterator of languages.entries()) {
  7. console.log('3. entries 遍历数组的迭代器 :>> ', iterator[0], iterator[1])
  8. }
  9. // keys()
  10. for (const iterator of languages.keys()) {
  11. console.log('15. keys 遍历数组的迭代器 :>> ', iterator)
  12. }

获取数组中一块元素

  1. // slice()
  2. const languagesSlice = languages.slice(0, 2)
  3. console.log('24. slice 获取数组某一块数据 :>> ', languagesSlice)

拼接数组

  1. // concat()
  2. const concatArr = languages.concat(fruits)
  3. console.log('1. concat 两个数组拼接为新数据 :>> ', concatArr)

合并数组元素

  1. // reduce()
  2. const languagesReduce = languages.reduce((content, item) => {
  3. return content + item
  4. })
  5. console.log('20. reduce 从左往右依次合并元素 :>> ', languagesReduce)
  6. // reduceRight()
  7. const languagesReduceRight = languages.reduceRight((content, item) => {
  8. return content + item
  9. })
  10. console.log('21. reduceRight 从右往左依次合并元素 :>> ', languagesReduceRight)

遍历获取指定条件的全部元素

  1. // filter()
  2. const languagesFilter = languages.filter((ele, index) => {
  3. return ele.length > 2
  4. })
  5. console.log('6. filter 返回符合条件元素的新数组 :>> ', languagesFilter)

调整元素规范

  1. // map()
  2. const languagesMap = languages.map((ele, index) => {
  3. return ele.toUpperCase()
  4. })
  5. console.log('17. map 遍历并调整为符合要求元素的新数组 :>> ', languagesMap)

排序

  1. // sort()
  2. languages.sort()
  3. console.log('sort 升序排序 :>> ', languages)
  4. // reverse()
  5. languages.reverse()
  6. console.log('reverse 翻转数组元素的顺序 :>> ', languages)

查询是否存在指定元素

  1. // includes()
  2. console.log('11. includes 查询是否包含指定元素 :>> ', languages.includes('java'))
  3. // indexOf()
  4. let index = languages.indexOf('java')
  5. console.log('12. indexOf 返回元素(存在)在数组中的第一次出现的索引 :>> ', index)
  6. index = languages.indexOf('html')
  7. console.log('12. indexOf 返回元素(不存在)在数组中第一次数显的索引 :>> ', index)
  8. // lastIndexOf()
  9. const lastIndex = languages.lastIndexOf('java')
  10. console.log('16. lastIndexOf 返回指定元素最后一次出现的索引 :>> ', lastIndex)

检查元素是否存在/全部符合规则

  1. // some()
  2. function checkAdultSome(content) {
  3. return content.length >= 2
  4. }
  5. console.log('25. some 存在符合条件的元素 :>> ', languages.some(checkAdultSome))
  6. // every()
  7. function checkAdult(content) {
  8. return content.length >= 2
  9. }
  10. console.log('4. every 检查元素是否都符合条件 :>> ', languages.every(checkAdult))

查找符合规则的元素/索引

  1. // find()
  2. function checkAdultFind(content) {
  3. return content.length === 4
  4. }
  5. const ele = languages.find(checkAdultFind)
  6. console.log('7. find 返回符合条件的第一个元素 :>> ', ele)
  7. // findIndex()
  8. const indexes = languages.findIndex(checkAdultFind)
  9. console.log('8. findIndex 返回符合条件的第一个元素的索引 :>> ', indexes)

其他

  1. // toString()
  2. console.log('28. toString 数组转为字符串 :>> ', languages.toString())
  3. // valueOf()
  4. console.log('30. valueOf 返回数组原始值 :>> ', languages.valueOf())
  5. // join()
  6. const languagesJoin = languages.join('-')
  7. console.log('14. join 将数组转为指定连接符的字符串 :>> ', languagesJoin)
  8. // isArray()
  9. console.log('13. Array.isArray 检查是否为数组类型 :>> ', Array.isArray(languages))
  10. // fill()
  11. languages.fill('java')
  12. console.log('5. fill 将数组数据刷为统一内容 :>> ', languages)
  13. // from()
  14. const arrayFrom = Array.from(new Set(['java', 'python', 'go']))
  15. console.log('10. Array.from 创建新数组 :>> ', arrayFrom)
  16. // copyWithin()
  17. languages.copyWithin(2, 0)
  18. console.log('2. copyWithin 复制到指定位置。从指定位置开始复制 :>> ', languages)