ES6——新的Unicode表示法和遍历方式

新的Unicode表示法和遍历方式

用for-of遍历字符

let str = 'PROMISE';

/***************************************************************/
// ES6之前遍历字符串的方式
// 使用for循环
for (var i = 0, len = str.length; i < len; i ++) {
	console.log(str[i]);
	console.log(str.charAt(i));
}

/***************************************************************/
// 转成数组后遍历(多种方法选一)
//var oStr = Array.prototype.slice.call(str);
var oStr = str.split('');
//const oStr = [...str];
//const [...oStr] = str;

oStr.forEach(function(word) {
	console.log(word);
});
console.log(oStr);

/***************************************************************/
// 有时候遍历是为了操作字符串(加密)
// 对全是英文的字符串中的大写字符加密 A -> 100  B -> 99。。。
const map = {A: '100', B: '99', C: '98', D: '97', E: '96', F: '95', G: '94', H: '93', I: '92', J: '91', K: '90', L: '89', M: '88', N: '87', O: '86', P: '85', Q: '84', R: '83', S: '82', T: '81', U: '80', V: '79',W: '78',X: '77',Y: '76', Z: '75'};
const words = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';

oStr.forEach(function(word, index) {
        //判断是否为大写,进行加密
	if (words.includes(word)) oStr[index] = map[word];
});
//把加密数组拼成字符串
console.log(oStr.join(''));

/***************************************************************/
// 使用for-of遍历字符串
//for (let word of str) {
//	console.log(word);
//}

let newStr = '';
for (let word of str) {
	if (words.includes(word)) newStr += map[word];
}
console.log(newStr)

unicode表示法:

Unicode是一项标准,包括字符集、编码方案等
他是为了解决传统的字符编码方案的局限而产生的,为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
1、js在解析时碰到\u会把它解析成unicode码点,后面的就解析成字符,
码点范围:0000-ffff

🐶 \u1f436 unicode码(点)。

2、es6方式,在码点上加上{ }:’\u{1f436}’,可以更好的识别码点

console.log('\u{1f436}');

3、codePointAt(0):获取字符串中对应字符的一个码点

'🐶'.codePointAt(0);

4、toString(16):转换为16进制

'🐶'.codePointAt(0).toString(16);

5、at( )方法:根据下标取字符,chrome不支持,可以通过工具编译代码,变成es5,es3

'🐶abc'.at(0) //取到
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值