模板字符串和标签模板
const getCourseList = function() { // ajax return { status: true, msg: '获取成功', data: [{ id: 1, title: 'Vue 入门', date: 'xxxx-01-09' }, { id: 2, title: 'ES6 入门', date: 'xxxx-01-10' }, { id: 3, title: 'React入门', date: 'xxxx-01-11' }] } }; const { data: listData, status, msg } = getCourseList(); function foo(val) { return val.replace('xxxx', '2020'); } if (status) { let arr = []; listData.forEach(function({ date, title }) { arr.push( ` <li> <span>${ `课程名: ${ title }` }</span> <span>${ foo(date) }</span> </li> ` ); }); let ul = document.createElement('ul'); ul.innerHTML = arr.join(''); document.body.appendChild(ul); } else { alert(msg); }
padStart padEnd
{ let str = 'i'; // 插入在5的位置 let str1 = str.padStart(5, 'mooc'); console.log(str1); // 倒序插入在5的位置 let str2 = str.padEnd(5, 'mooc'); console.log(str2); }
repeat
{ function repeat(str, num) { return new Array(num + 1).join(str); } console.log(repeat('s', 3)); }
startsWith endsWith
{ const str = 'A promise is a promsie'; console.log(str.startsWith('B')); console.log(str.startsWith('A pro')); console.log(str.endsWith('promsie')); console.log(str.endsWith('A')); }
includes
{ const str = 'A promise is a promise'; if (~str.indexOf('promise')) { console.log('存在"promise"'); } if (str.includes('a promise')) { console.log('存在"a promise"'); } }
字符串转数组+遍历
let str = 'PROMISE'; // 四种方法:转成数组后遍历 var oStr = Array.prototype.slice.call(str); var oStr = str.split(''); const oStr = [...str]; const [...oStr] = str; console.log(oStr); //单个字符输出 oStr.forEach(function(word) { console.log(word); });
对全是英文的字符串中的大写字符加密 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遍历字符串
let str = 'PROMISE'; let newStr = ''; 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'}; for (let word of str) { if (str.includes(word)) newStr += map[word]; } console.log(newStr);
Unicode是一项标准,包括字符集、编码方案等
解决传统的字符编码方案的局限