字符串
var str = "How are you doing today?"
var str1 = " How are you doing today? "
// split() 方法用于把一个字符串分割成字符串数组
str.split(" ") // ["How", "are", "you", "doing", "today?"]
str1.split(/\s+/)
// reverse() 方法用于颠倒数组中元素的顺序,注意:只能用于数组
str.split(" ").reverse() // ["today?", "doing", "you", "are", "How"]
// trim() 方法用于删除字符串的头尾空格。
str1.trim() //"How are you doing today?"
// join() 方法用于把数组中的所有元素放入一个字符串
str.split(" ").join(" ") // "How are you doing today?"
strr.split("").reverse().join("") //"?yadot gniod uoy era woH" 字符串反转
str.split('o').length-1 //4 获取字符串中o的个数
//concat(字符串1,字符串2,...);返回的是拼接之后的新的字符串
str.concat(str1) //"How are you doing today? How are you doing today?"
//toLocaleLowerCase();toLowerCase();转小写
str.toLocaleLowerCase() //"how are you doing today?"
str.toLowerCase() //"how are you doing today?"
//toLocaleUpperCase()转大写;toUpperCase();转大写
str.toLocaleUpperCase() //"HOW ARE YOU DOING TODAY?"
str.toUpperCase() //"HOW ARE YOU DOING TODAY?"
//indexOf(要找的字符串,从某个位置开始的索引);返回的是这个字符串的索引值,没找到则返回-1
str.indexOf("Hello") //0
str.indexOf("are",5) //-1 从第五个字符开始索引
//lastIndexOf(要找的字符串);从后向前找,但是索引仍然是从左向右的方式,找不到则返回-1
str.lastIndexOf("How") //0
//charAt(索引),返回值是指定索引位置的字符串,超出索引,结果是空字符串
str.charAt(0) //"H"
//substring(开始的索引,结束的索引),substring将负参数都直接转换为0,substring是以两个参数中较小一个作为起始位置,较大的参数作为结束位置。不包含结束的索引的字符串
str.substring(0,5) //"How a"
str.substring(-5) //"How are you doing today?"
str.substring(8,1) //"ow are "
//slice(开始的索引,结束的索引); 从索引5的位置开始提取,到索引为10的前一个结束,没有10,并返回这个提取后的字符串.不包含结束的索引的字符串
str.slice(0,5) //"How a"
str.slice(-5) //"oday?"
str.slice(8,2) //""
//substr(起始位置,长度);返回的是截取后的新的字符串
str.substr(1,5) //"ow ar"
//replace("要替换的字符串","替换后的字符串") 方法用另一个值替换在字符串中指定的值,默认只替换首个匹配,如需全局替换,可用正则表达式
str.replace("How","What") //"What are you doing today?"
str2 = "HOW HOW HOW NI YOU"
str2.replace("HOW","WHAT")// "WHAT HOW HOW NI YOU"
str2.replace(/HOW/g,"WHAT")// "WHAT WHAT WHAT NI YOU"
//十进制ASCII码转换成字符
String.fromCharCode(65) // A
String.fromCharCode(90) // Z
String.fromCharCode(97) // a
String.fromCharCode(122) // z
//或者
String.fromCodePoint(65) // A
String.fromCodePoint(90) // Z
String.fromCodePoint(97) // a
String.fromCodePoint(122) // z
//字符转换成十进制ASCII码
'A'.charCodeAt() // 65
'a'.charCodeAt() // 97
'Z'.charCodeAt() // 90
'z'.charCodeAt() // 122
//复制字符串
"a".repeat(3) // "aaa"
/// 记录字符串每个字母出现的次数
for (let element of text) {
map[element] = (map[element] || 0) + 1
}
// 将map对象中 balon 字母出现的次数存到数组中
for (let index of "balon") {
arr.push(map[index] || 0)
}
参考:js字符串方法
数组

js数组方法
//添加删除数组元素
push() //向数组的末尾添加一个或更多元素,并返回新的长度。
unshift() //向数组的开头添加一个或更多元素,并返回新的长度。
pop() //删除并返回数组的最后一个元素
shift() //删除并返回数组的第一个元素
splice() //既能删除也能添加
splice(0,1) //删除第一个元素。第一项的位置和要删除的项数
//添加
splice(起始位置,要删除的项数,要插入的项)
splice(2,0,"red","blue") //从当前数组位置2开始插入字符串
//替换
splice(起始位置,要删除的项数,要插入的项)
splice(2,1,"red","blue") //删除位置2的项,再从位置2插入
//ES6取数组最小值
minNum = Math.min(...numList)
//获取最大值的位置
numList.indexOf(Math.max.apply(Math, numList))
添加能添加多个,删除只能删一个
数组迭代方法
var numbers = [12,43,2,4,3,2,32,5,3,2,43]
every() //对数组中每一项运行给定的函数,每一项都返回true,才返回true
var everyReslt = numbers.every(function(item,index,array){
return (item>2)
})
alert(everyReslt) //false
filter() //返回符合条件的数组
var filterReslt = numbers.filter(function(item,index,array){
return (item>2)
})
alert(filterReslt) //[12, 43, 4, 3, 32, 5, 3, 43]
some() //对数组中每一项运行给定的函数,任意一项返回true,就返回true
var someReslt = numbers.some(function(item,index,array){
return (item>2)
})
alert(someReslt) //true
map() //对数组中每一项运行给定函数,返回每次函数调用结果组成的数组
var mapReslt = numbers.map(function(item,index,array){
return item * 2
})
alert(mapReslt) //[24, 86, 4, 8, 6, 4, 64, 10, 6, 4, 86]
forEach() //对数组中每一项运行给定函数,遍历数组中每一项,这个方法没有返回值
var forEachReslt = numbers.forEach(function(item,index,array){
// 执行某些操作
})
数组缩小方法
var nums = [1,2,3,4,5]
reduce() //从左到右遍历数组,构建一个最终返回的值。参数为(前一个值,当前值,项的索引,数组对象)
var sum = nums.reduce(function(prev,cur,index,array){
return prev + cur
})
alert(sum) //15
reduceRight() //从右到左遍历数组,构建一个最终返回的值。参数为(前一个值,当前值,项的索引,数组对象)
var sum = nums.reduceRight(function(prev,cur,index,array){
return prev + cur
})
alert(sum) //15
// new Set()去重
var aa = "efweeeewefwefew"
new Set(aa) //{"e", "f", "w"}
对象
// 对象获取第一个key和值
Object.keys(obj)[0]
Object.values(obj)[0]
//修改对象值
obj[Object.keys(obj)[0]] -= 1
//遍历这个对象
for(var key in obj) {
console.log(key + "这个字母出现了" + obj[key] + "次");
}
//对象的长度
Object.keys(obj).length
网友评论