数组索引:
indexOf() 数组中查找给定元素的第一个索引 ,存在就返回索引号,不存在返回-1
lastIndexOf ()在数组中的最后一个索引,存在返回索引号,不存在返回-1
//indexOf(数组元素) 如果被查找的元素有多个,返回第一个元素的索引
let arr = ['小王','小明','小红','小白','小青','小明']
// console.log(arr.indexOf('小白'))
// console.log(arr.indexOf('小黑'))
console.log(arr.indexOf('小明'))
//lastIndexOf(数组元素) 从数组后面开始查找元素
console.log(arr.lastIndexOf('小明'))
数组去重:
function getArr(){
let arr = ['c','a','z','a','x','a','x','c','b']
let arr1 = []
for(let i = 0;i<arr.length;i++){
if(arr1.indexOf(arr[i])===-1){
arr1.push(arr[i])
}
}
console.log(arr1)
}
getArr()
数组换为字符串
可以用toString()将数组转为字符串,逗号分隔每一项
join(‘分隔符’) 可以将数组中的所有元素转为字符串
其他方法:
方法 | 说明 |
---|---|
concat() | 连接多个数组 |
slice() | 数组截取slice(begin,end) |
splice() | 数组删除splice(第几个开始,要删除个数) |
1.5字符串对象
//查找字符串"abcoefoxyozzopp"中所有o出现的位置以及次数
//1、不知道循环次数使用while
let str = 'abcoefoxyozzopp'
let index = str.indexOf('o') //第一个o出现的位置
// index = str.indexOf('o',index+1)
let count = 0 //o的次数
while(index !== -1){
console.log('位置:' + index)
count++
index = str.indexOf('o',index+1)
}
console.log('共出现次数:' + count)
方法名 | 说明 |
---|---|
charAt(index) | 返回指定位置的字符(index字符串的索引号) |
charCodeAt(index) | 获取指定位置处字符的ASCII码(index索引) |
str[index] | 获取指定位置处字符 |
案例:判断一个字符串 ‘abcoefoxyozzopp’ 中出现次数最多的字符,并统计其次数
- 核心算法:利用 charAt() 遍历这个字符串
- 把每个字符都存储给对象, 如果对象没有该属性,就为1,如果存在了就 +1
-
遍历对象,得到最大值和该字符
注意:在遍历的过程中,把字符串中的每个字符作为对象的属性存储在对象总,对应的属性值是该字符出现的次数let str = ‘abcoefoxyozzopp’
let obj = {}
for (let i = 0; i < str.length; i++) {
let ch = str.charAt(i) //索引对应的字符
if(obj[ch]){
obj[ch]++
}else{
obj[ch] = 1
}
}console.log(obj)
//遍历对象
let max = 0
let ch = ‘’
for (let key in obj) {
// key是属性名 obj[key]
if(obj[key]>max){
max = obj[key]ch = key }
}
console.log(‘出现最多的字符是:’ + ch + ‘,出现了’ + max + ‘次’)
-
//1、concat() 字符串拼接
let str = 'heeh'
console.log(str.concat('haha'))
//2、substr(n,m) 截取字符串 n:从第几个开始截取(包含) m:截取多少个
let str1 = '人生若只如初见,何事秋风悲画扇'
console.log(str1.substr(8,7))
replace()方法
字符串.replace(被替换的字符串, 要替换为的字符串);
split()方法
字符串.split(“分割字符”)