一、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
数组和字符串总结:
数组方法:
- 实例方法
forEach方法用于遍历数组,替代for循环。 filter过滤数组单元值,生成新数组。- 实例方法
reduce反转数组 累计器 返回累计处理的结果。 - 实例方法
every检测数组所有元素是否都符合指定条件,如果所有元素都通过检测返回 true,否则返回 false(重点)。 - 实例
find方法 查找元素,返回符合测试条件的第一个数组元素值,如果没有符合条件的则返回 undefined。 - 实例方法
some检测数组中的元素是否满足指定条件 如果数组中有元素满足条件返回 true,否则返回 false
字符串方法:
- 实例方法
split('分隔符')用来将字符串拆分成数组。 - 实例方法
substring(需要截取的第一个字符的索引[,结束的索引号])用于字符串截取。 - 实例方法
startsWith(检测字符串[, 检测位置索引号])检测是否以某字符开头。