Array数组方法有哪些?String字符串的操作方法?

150 阅读5分钟

一、Array数组方法

1.实例方法forEach方法用于遍历数组,替代 for 循环 (重点)

语法:      
// `element`数组中正在处理的当前元素。`index`数组中正在处理的当前元素的索引。
遍历的数组.forEach(function (element, index) {
      console.log(element);
})

代码示例:
// 光遇游戏的人物数组
let Str = ['平菇', '雨妈', '斜太', '呆菇']

// 接收结果的变量
let result = ''

// 数组名.forEach用于遍历数组
Str.forEach((item) => {
  result += `${item}可爱、`     //模板字符串拼接
});

console.log(result);   //打印结果  平菇可爱、雨妈可爱、斜太可爱、呆菇可爱、

2.实例方法filter过滤数组单元值,生成新数组(重点)

语法:
// `element`数组中正在处理的当前元素。`index`数组中正在处理的当前元素的索引。
// 调用filter方法会得到一个返回值,返回的是一个符合条件的数组,可以声明一个变量来接收这个返回值。
// 筛选的数组.filter(function(element, index) {  })

代码示例:
// 筛选的数组
const arr = [10, 20, 30, 40, 50]

const newArr = arr.filter(function (item, index) {
  console.log(item);  //打印item  得到的是数组的每一项   
  return item >= 20
})
// 利用箭头函数简写 让代码更加简洁
const Arr = arr.filter(item => item >= 20)

console.log(Arr);   //打印结果  [20, 30, 40, 50]
console.log(newArr);   //打印结果  [20, 30, 40, 50]

3.实例方法reduce 反转数组 累计器 返回累计处理的结果

语法:
//`arr`累加的数组。
//如果有起始值,则以起始值为准开始累计,累计值=起始值
//如果没有起始值,则累计值以数组的第一个元素作为起始值开始累计
//后面每次遍历就会用后面的数组元素 累计到的累计值里面
//中括号包裹的是可写可不写的属性
arr.reduce(function(累计值,当前元素[,索引号][,源数组],起始值){})

代码示例:
// 求数组的累加和
const arr = [6, 7, 8, 9]

const re1 = arr.reduce(function (prev, item) {
  return prev + item
})

// 利用箭头函数简写
const re2 = arr.reduce((prev, item) => prev + item)

console.log(re1);  //打印结果  30
console.log(re2);  //打印结果  30

4.实例方法every检测数组所有元素是否都符合指定条件,如果所有元素都通过检测返回 true,否则返回 false(重点)

语法:
// `element`数组中正在处理的当前元素。`index`数组中正在处理的当前元素的索引。
// `every`方法  判断每一个是否都符合条件 如果都符合返回true,否则返回false。
筛选的数组.every(function(element, index) { })

代码示例:
// 筛选的数组
const arr = [10, 20, 30, 40,]

// every 每一个是否都符合条件 如果都符合返回true,否则返回false
const flag1 = arr.every(function (item) {
  return item >= 20
})

// 利用箭头函数简写
const flag2 = arr.every(item => item >= 20)

const flag3 = arr.every(item => item <= 66)

console.log(flag1);    //打印结果 false
console.log(flag2);    //打印结果 false
console.log(flag3);    //打印结果 true

5.实例find方法 查找元素,返回符合测试条件的第一个数组元素值,如果没有符合条件的则返回 undefined(重点)

语法:
// `element`数组中正在处理的当前元素。`index`数组中正在处理的当前元素的索引。
// `find()`方法返回数组中满足提供的测试函数的第一个元素的值。否则返回undefined。
// 查找的数组.find(function(element, index) {  })

代码示例:
// 准备查找的数组对象
const arr = [
  { name: '萝莉', age: 18 },
  { name: '御姐', age: 24 },
  { name: '辣妹', age: 22 },
  { name: '软妹', age: 20 },
  { name: '甜妹', age: 19 },
]

// 找到软妹这个对象 并且返回这个对象
const rm = arr.find(function (item) {
  console.log(item.name);    //打印结果  萝莉 御姐 辣妹 软妹
  return item.name === '软妹'
})
console.log(rm);   //打印结果  {name: '软妹', age: 20}

// 利用箭头函数简写
const tm = arr.find((item) => item.name === '甜妹')
console.log(tm);   //打印结果  {name: '甜妹', age: 19}

6.实例方法some 检测数组中的元素是否满足指定条件 如果数组中有元素满足条件返回 true,否则返回 false

语法:
// `element`数组中正在处理的当前元素。`index`数组中正在处理的当前元素的索引。
// `some` 检测数组中的元素是否满足指定条件,如果数组中有元素满足条件返回 true,否则返回 false

筛选的数组.some(function(element, index) { })

代码示例:
// 筛选的数组
const arr = [30, 40, 50, 60,]


// some 方法 只要有一个符合条件就返回true,否则为false
const flag1 = arr.some(function (item) {
  return item >= 50
})
// 利用箭头函数简写
const flag2 = arr.some(item => item >= 20)


const flag3 = arr.some(item => item > 60)

console.log(flag1);    //打印结果 true
console.log(flag2);    //打印结果 true
console.log(flag3);    //打印结果 false

二、字符串的操作方法

1.实例方法 split('分隔符') 用来将字符串拆分成数组(重点)

语法:
//str.split([separator[,max]])
//可选。规定分割字符串时要使用的分隔符。默认值为空白字符
//可选。规定要执行的拆分数。默认值为 -1,即“所有出现次数”。

代码示例:
//拆分成数组的字符串
const str = 'xiaoming,xiaohong'
const str1 = '2023-2-2'

const arr = str.split(',')
console.log(arr);  //打印结果  ['xiaoming', 'xiaohong']


const arr1 = str1.split('-')
console.log(arr1);  //打印结果  ['2023', '2', '2']

2.实例方法 substring(需要截取的第一个字符的索引[,结束的索引号]) 用于字符串截取(重点)

语法:
// 字符串的截取  substring(开始的索引号[,结束的索引号])
// 如果要省略 结束的索引号,默认取到最后
// 结束的索引号不包含想要截取的部分


代码示例:
const str = '你是不是小黑子'
console.log(str.substring(4));  //打印结果 小黑子
console.log(str.substring(4, 1));//打印结果 是不是
console.log(str.substring(4, 6)); //打印结果  小黑

3.实例方法 startsWith(检测字符串[, 检测位置索引号]) 检测是否以某字符开头(重点)

语法:
// startsWith() 方法用来判断当前字符串是否以另外一个给定的子字符串开头,并根据判断结果返回 true 或 false。
// searchString:要搜索的字符串
// position当前字符串的位置
// str.startsWith(searchString[, position])


代码示例:
const str = 'ni shi不是小黑子'
console.log(str.startsWith('ni'));       //打印结果 true
console.log(str.startsWith('ni', 3));    //打印结果 false
console.log(str.startsWith('shi', 3));   //打印结果 true

数组和字符串总结:

数组方法:

  1. 实例方法forEach方法用于遍历数组,替代 for 循环。
  2. filter过滤数组单元值,生成新数组。
  3. 实例方法reduce 反转数组 累计器 返回累计处理的结果。
  4. 实例方法every检测数组所有元素是否都符合指定条件,如果所有元素都通过检测返回 true,否则返回 false(重点)。
  5. 实例find方法 查找元素,返回符合测试条件的第一个数组元素值,如果没有符合条件的则返回 undefined。
  6. 实例方法some 检测数组中的元素是否满足指定条件 如果数组中有元素满足条件返回 true,否则返回 false

字符串方法:

  1. 实例方法 split('分隔符') 用来将字符串拆分成数组。
  2. 实例方法 substring(需要截取的第一个字符的索引[,结束的索引号]) 用于字符串截取。
  3. 实例方法 startsWith(检测字符串[, 检测位置索引号]) 检测是否以某字符开头。