字符串API操作
<script>
let str='爱学习'
// 获取字符串长度
str.length
console.log(str.length)
// 通过索引获取元素
console.log(str[4])
// 通过元素获取索引
console.log(str.indexOf('学'));
console.log(str.search('学'));
// 字符串拼接
console.log(str.concat('<a>','爱劳动','</a>'));
console.log(str+'爱劳动');
console.log(`${str}爱劳动`);
// 字符串替换
console.log(str.replace('爱','love'))
// 取子串
// slice
console.log(str.slice(1,6));
// substr 规定开始和取数
console.log(str.substr(1,4));
// 从后往前取
console.log(str.substr(-5,3));
// 字符串转数组
let str1 = str;
let str2 = str;
console.log(str1.split());
console.log(str2.split(''));//不用分割
// 大小写转换
console.log(str.toUpperCase());
console.log(str.toLowerCase());
// 字符串link方式,字符串的内容会成为a标签的文本值
console.log(str.link('https://php.cn'));
document.body.insertAdjacentHTML('afterbegin',
str.link('https://PHP.cn'));
</script>
数组api操作
<script>
// 数组的增加和删除
let arr =[];//]是尾,[是头
// 返回数组的长度
console.log(arr.length);
// push 尾部添加 (尾插法)
// 注意:添加的顺序是10,20,30
arr.push(10,20,30)
console.log(arr);
// pop 尾删法
console.log(arr.push());
console.log(arr);
// unshift:头插法
// shift:头删法
console.log(arr);
// 注意插入的顺序是先插入30,然后是20 最后是10,也就是说10是数组的第一个元素
arr.unshift(10,20,30);
console.log(arr);
console.log(arr.shift());
console.log(arr.shift());
console.log(arr.shift());
console.log(arr);
// shift + push 可以构成一个队列
// 遍历数组
// 1. forEach,map
// 2. every, some
// 3. filter, find, findIndex
// 4. reduce
arr.push(30);
arr.push(40);
arr.unshift(20,30,40);
console.log(arr);
// foreach遍历数组
// arr.forEach(function(元素的值,值对应的索引,数组本身) {
// 对数组中的每个元素逐个调用回调方式进行处理
// })
// 三个参数,只有第一个必选的,其它可不写
console.log('-------------------------------->');
let res =arr.forEach((item)=>console.log(item))
console.log(res);// 无返回值
console.log('<-------------------------------->');
// map
res=arr.map((item)=>item*2);
console.log(res);//返回数组
console.log('<-------------------------------->');
// 条件遍历
// 1.every:数组成员全部满足条件,则返回 true , 否则 false
console.log(arr.every(item=>item>=30));
console.log(arr.every(item=>item>=0));
// 2.some 数组成员只要有一个满足条件,则返回 true ,全部不满足返回false
console.log(arr.some(item=>item>=30));
console.log(arr.some(item=>item>=100));
// filter 过滤器
// 返回满足条件的数组
console.log(arr.filter(item=>item>=30));
console.log('<-------------------------------->');
// 归并
// reduce
// arr.reduce(function(累加器,元素的值,值对应的索引,数组本身) {})
res =arr.reduce(function(acc,item,index){
console.log(`acc=${acc},item=${item}`);
return acc + item ;
});
console.log(res);
// reduce可以在已有基础上累加
res =arr.reduce(function(acc,item,index){
console.log(`acc=${acc},item=${item}`);
return acc + item ;
},1000);
console.log(res);
console.log('---------------------------------');
// 数组的排序
console.log(arr);
// 升序排列
console.log(arr.sort((a,b)=>a-b));
// 降序排列
console.log(arr.sort((a,b)=>b-a));
// 数组转变为字符串
console.log(arr.join());
console.log(arr.join('-'));
console.log(arr.join('*'));
console.log('-------------------------------------->');
// splce: 删除,新增,替换
// 默认删除,返回被删除的元素
console.log(arr);
console.log(arr.splice(1, 2));
console.log(arr);
// 更新
console.log(arr.splice(1, 2, 'a', 'b'));
console.log(arr);
// 新增,不要删除
console.log(arr.splice(1, 0, 'red', 'green'));
console.log(arr);
</script>