<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>字符串常用api(简单的理解为函数或者方法)</title></head><body><script>let str = "我是中国人";console.log(str[0], str[1], str[2], str[3], str[4]);// 索引取值范围:[0,4] [0,str.length - 1]// 字符串长度console.log(str.length);// 索引 -> 元素console.log(str[3]);// 函数:charAt(3)console.log(str.charAt(3));// 元素 -> 索引console.log(str.indexOf("中"));let str0 = "The full name of China is the People's Republic of China.";// search 还支持正则console.log(str0.search("name"));// 两种方法,indexOf() 与 search(),是相等的。// 这两种方法是不相等的。区别在于:// search() 方法无法设置第二个开始位置参数。// indexOf() 方法无法设置更强大的搜索值(正则表达式)。// 字符串的拼装console.log(str.concat(",我们要爱自己的祖国"));console.log(str + ",我们要爱自己的祖国");console.log(`${str} ,我们要爱自己的祖国`);// 字符串替换:replace("被替换的值", "替换新值")console.log(str.replace("中国", "甘肃"));// 字符串查询和取值// slice 取子串// 执行结果:从0开始到索引2之前结束(不含索引2的值)console.log(str.slice(0, 2));// substr:不知在哪结束,但是知道取多少个值console.log(str.substr(2, 3));// 从后往前取console.log(str.substr(-3, 3));// split:字符串 转为 数组let s = "1-2-3-4-5";// 用”-“切割console.log(s.split("-"));// 用空字符’‘进行分割,分割后即可转为数组console.log(str.split(""));// 设置返回数组数量console.log(str.split("", 4));// toLoweerCase:转为小写字母// toUpperCase:转为大写字母let str1 = "SDFFRFRF";console.log(str1.toLowerCase());let str2 = "dggghH";console.log(str2.toUpperCase());// 加链接let url = `<a href="https://www.baidu.com">${str}</a>`;console.log(url);document.body.insertAdjacentHTML("afterbegin", url);// 以上代码可以用函数link一步简化console.log("-----------------------");document.body.insertAdjacentHTML("afterbegin", "<br />");document.body.insertAdjacentHTML("afterbegin", str.link("https://www.baidu.com"));// 字符串加粗document.body.insertAdjacentHTML("afterbegin", "<br />");console.log(str.bold());document.body.insertAdjacentHTML("afterbegin", str.bold());</script></body></html>
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>数组的创建和类数组转换</title></head><body><script>// 字面量创建;let cars = ["Saab", "Volvo", "BMW"];console.log(cars);// Array.of// 服务器返回数组:alet a = [1, 2, 3, 4, 5];console.log(Array.of(1, 2, 3, 4, 5));// console.log(Array.of(a));console.log(Array.of(...a));// 类数组cars1 = {0: "Saab",1: "Volvo",2: "BMW",length: 3,};// 类数组是对象Objectconsole.log(cars1);// 转为真正的数组:array.fromconsole.log(Array.from(cars1));</script></body></html>
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>数组的增删</title></head><body><script>// 数组的增删// push, pop;// unshift, shift;let arr = [];console.log(arr);// push尾部添加,返回数组的元素数量console.log(arr.push(10));console.log(arr.push(20, 30));console.log(arr);// pop尾部删除,返回值是被删除的元素console.log(arr.pop());console.log(arr.pop());console.log(arr);// unshift:头部追加,返回数组的元素总数量// unshift(15, 20, 30)从数组尾部30执行添加console.log(arr.unshift(30, 20, 15));console.log(arr);// shift:头部删除,从右向左删除// 返回被删除的元素console.log(arr.shift());console.log(arr.shift());console.log(arr);// 示例:push:尾部进入,shift:头部删除console.log(arr.push("volvo", "bmw"));console.log(arr);console.log(arr.shift());console.log(arr);console.log(arr.shift());console.log(arr);</script></body></html>
every 与:都满足返回true 否则false;some 或:满足一个返回true 否则false
filter:只返回为真的元素组成的数组 find:返回满足条件的第一个元素 findIndex:找到返回元素索引下标,找不到返回-1
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>遍历数组的方法</title></head><body><script>// 1.foreach,Maplet arr = [1, 2, 3, 4, 5];// arr.forEach(function (当前元素的值, 值对应的索引, 数组本身) {// 对数组中的每个元素逐个调用回调方式进行处理// });let res = arr.forEach(function (item, index, arr) {console.log(item, index, arr);document.body.append(item);});// 箭头函数简化res = arr.forEach((item, index, arr) => {console.log(item, index, arr);document.body.append(item);});// foreach没有返回值,undefinedconsole.log(res);// map:如果想要返回值,使用mapres = arr.map((item, index, arr) => [item, index, arr]);res = arr.map((item) => item);console.log(res);// 将每个元素成2返回,返回一个新数组res = arr.map((item) => item * 2);console.log(res);// 2.every,some// every 与:都满足返回true 否则falseconsole.log("-------------------");console.log(arr);console.log(arr.every((item) => item >= 0));console.log(arr.every((item) => item >= 3));// some 或:满足一个返回true 否则falseconsole.log(arr.some((item) => item >= 3));console.log(arr.some((item) => item >= 6));// 3.filter,find,findIndex// filter:只返回为真的元素组成的数组console.log(arr.filter((item) => item >= 2));// find:返回满足条件的第一个元素console.log("--------");console.log(arr.find((item) => item >= 2));console.log("--------");// findIndex:console.log(arr.findIndex((item) => item >= 5));const array1 = [5, 12, 8, 130, 44];const isLargeNumber = (element) => element > 8;console.log(array1.findIndex(isLargeNumber));// expected output: 1console.log(array1.findIndex((item) => item >= 6));console.log("--------");// 4.reduce// reduce:归并let acc = 0;for (let i = 0; i < arr.length; i++) {acc += arr[i];}console.log(acc);// arr.reduce(function(累加器,当前元素的值, 值对应的索引, 数组本身)){// }res = arr.reduce(function (acc, cur, index, arr) {console.log(`acc = ${acc},cur=${cur},index=${index},arr=${arr}`);return acc + cur;// 第二个值1500是初始值,不写默认0}, 1500);console.log(res);// 简化代码:res = arr.reduce((acc, cur) => acc + cur);console.log(res);</script></body></html>
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>排序</title></head><body><script>//sortlet arr = [1, 13, 5, 18, 9];// sort默认按字符串来排console.log(arr.sort());console.log(arr.sort(function (a, b) {return a - b;}));// 倒序console.log(arr.sort(function (a, b) {return b - a;}));// 简化console.log(arr.sort((a, b) => b - a));// join:Array -> Stringarr = ["red", "green", "blue"];console.log(arr.join());console.log(arr.join("-"));console.log(arr.join("--"));// split:字符串 转为 数组let arr1 = arr.join(" - ");console.log(arr1);arr1 = arr1.split("-");// 用”-“切割console.log(arr1);// slice:取子元素,字符串也有一个slicearr = [1, 2, 3, 4, 5, 6, 7, 8, 9];console.log(arr);console.log(arr.slice(3, 4));console.log(arr.slice(3));console.log(arr.slice(-7, -6));// splce:删除,新增,替换// 默认删除,返回被删除的元素console.log(arr.splice(1, 2));console.log(arr);// 更新操作// 从下表1开始,将2个元素4和5用a和b替换console.log(arr.splice(1, 2, "a", "b"));console.log(arr);// 新增console.log(arr.splice(1, 0, "red", "bmw"));console.log(arr);// 反转</script></body></html>
相关推荐
© 2020 asciim码
人生就是一场修行