字符转ASCII
let c = 'A'
c.charCodeAt() // 65
ASCII转字符
String.fromCharCode(97) // 'a'
sort方法
var nums = [ 3, 4, 1, 2, 8]
// 升序排序(从小到大)
nums.sort((a, b) => {
return a - b
})
// 降序排序(从大到小)
nums.sort((a, b) => {
return b - a
})
数组的every方法
var arr = [4, 23, 67, 11 , 63 ]
// 数组中的所有元素是否都大于10
let flag = arr.every( k => {
return k > 10
})
console.log(flag) // false
数组去重(参考)
// 对象属性唯一性
var arr = [2, 5, 7, 3, 2, 5]
var obj = {}
var res = []
for(let k of arr) {
if(!obj[k]) {
res.push(k)
// obj属性对应的值 可以赋予个任何值
obj[k] = 1
}
}
console.log(res) // [2, 5, 7, 3]
判断数组中是否存在某一元素
arr.includes(x)
// 或者
arr.indexOf(x) === -1
十进制和其他进制的相互转换
// 十进制 转其他进制 : n 为进制数:2,8,16,32
num.toString(n)
// 其他进制转十进制
parseInt(num, n)
小写、大写字母的顺序索引
// 学习自优秀网友
// 需求:给定小写字母c,其在26个英文字母(顺序)中的索引
// 原理:利用其Unicode编码值范围
// a~z(Unicode编码值范围:97~122);A~Z(Unicode编码值范围:[65~90]);0~9(Unicode编码值范围:48~57)
let index = c.charCodeAt() - 97
遍历数组中指定字符出现的次数
// 利用对象key的唯一性
let arr = ['A','E','Z','Z','A','C']
let obj = {
'A': 0,
'Z': 0
}
arr.map( item => {
obj[item] ++
})
// obj['A'] = 2, obj['Z'] = 2
二维数组的创建并初始化
// 用0初始化2行3列的数组
var res = Array(2).fill(undefined).map(()=>{
return Array(3).fill(0)
})
有符号转换为无符号整数
无符号右移0位: n >>> 0