发表于: 2022-12-05 20:19:20
0 357
js练习:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>字符串变量</title>
<script>
//基本包装类型
// var str = '你好';
// console.log(str.length);
// //基本包装类型:就是把简单数据类型 包装成为了 复杂数据类型
// //2、简单数据类型怎么会有 length 属性呢?
// //1、把简单数据类型包装成为复杂数据类型
// var temp = new String('你好');
// //2、把临时变量的值 给 str
// str = temp;
// //3、 销毁这个临时变量
// temp = null;
// 字符串的不可变性
// var str = 'andy';
// console.log(str);
// str = 'red';
// console.log(str);
//指的是里面的值不可变,虽然看上去可以改变内容,丹其他是地址发生了变化,内存中新开辟了一个内存空间。
//字符串对象 根据字符返回位置 (str.indexOf('要查找的字符',起始的位置)
// var str = '改革春风吹满地,春天来了';
// console.log(str.indexOf('春'));
// console.log(str.indexOf('春',3)); //从索引号是 3的位置开始往后查找
//小练习
// var str = "abcoefoxyozzopp";
// var index = str.indexOf('o');
// var num = 0;
// while (index !== -1) {
// console.log(index);
// num++;
// index = str.indexOf('o', index + 1);
// }
// console.log('o出现的次数是:' + num);
//
// console.log('---------------------------------------------');
//
// var str1 = ['red', 'blue', 'red', 'green', 'pink', 'red'];
// var index1 = str1.indexOf('red');
// var num1 = 0;
// while (index1 !== -1) {
// console.log(index1);
// num1++;
// index1 = str1.indexOf('red', index1 + 1);
// }
// console.log('red出现的次数是:' + num1);
//根据位置返回字符
// 1、charAt(index) 根据位置返回字符
// var str = 'andy';
// console.log(str.charAt(3));
// // 遍历所以字符
// for(var i = 0; i < str.length; i++) {
// console.log(str.charAt(i));
// }
// //2、 charCodeAt(index) 获取指定位置处字符的ASCII码(index索引号) 目的:判断用户按下了那个键
// console.log(str.charCodeAt(0));
//
// //3、str[index] 根据位置返回字符 H5 新增的
// console.log(str[0]);
// var str = 'abcoefoxyozzopp';
// var o = {};
// for (var i = 0; i < str.length; i++) {
// var chars = str.charAt(i); //chars 是 字符串的每一个字符
// if(o[chars]) { // o[chars] 得到的是属性值
// o[chars]++;
// } else {
// o[chars] = 1;
// }
// }
// console.log(o);
// //2、遍历对象
// var max = 0;
// var ch = '';
// for(var k in o) {
// if(o[k] > max) {
// //k 变量 输出的是 属性名
// // o[k] 得到的是属性值
// max = o[k];
// ch = k;
// }
// }
// console.log('里面出现最多的字符是:' + ch + ' 出现的次数是:' + max);
//替换字符 replace('被替换的字符' , '替换为的字符') 它只会替换第一个字符
var str = 'andy';
console.log(str.replace('a', 'b')); //bndy
var str1 = 'andyandy';
console.log(str1.replace('a', 'b')); //bndyandy
// 有一个字符串 'abcoeffoxyozzopp' 将字符串里面所以的 'o' 替换为 '*'
var str2 = 'abcoeffoxyozzopp';
while (str2.indexOf('o') !== -1) {
str2 = str2.replace('o', '*');
}
console.log(str2);
console.log('-------------------------------------------');
//字符转换为数组 splist('分隔符') 之前是使用 join 把数组转换为字符串
var str3 = 'red, pink, blue';
console.log(str3.split(',')); //['red', ' pink', ' blue']
var str4 = 'red&pink&blue';console.log(str4.split('&')); //['red', ' pink', ' blue']
//返回数组中的索引号 indexOf(数组元素) 作用是返回该数组元素的索引号,从前面开始查找
//它只返回第一个满足条件的索引号
// 它如果在该数组中找不到元素,则返回的是-1
// var arr = ['red', 'pink', 'blue', 'green', 'blue'];
// console.log(arr.indexOf('blue')); //2
// //返回数组中的索引号 lastIndexOf(数组元素) 作用是返回该数组元素的索引号,从后面开始差点
// console.log(arr.lastIndexOf('blue')); //4
// 封装一个 去重的函数 unique 独一无二
function unique(arr) {
var newArr = [];
for(var i = 0; i < arr.length; i++) {
if(newArr.indexOf(arr[i]) === -1) {
newArr.push(arr[i]);
}
}
return newArr;
}
// var demo = unique(['c', 'a', 'z', 'a', 'x', 'a', 'x', 'c', 'b']);
var demo = unique(['blue', 'red', 'blue']);
console.log(demo);
//数组转化为字符串
//1、toString() 将我们的数组转化为字符串
var arr = [1,2,3];
console.log(arr.toString()); //1,2,3
//2、join(分割符)
var arr1 = ['blue', 'red', 'pink'];
console.log(arr1.join()); //blue,red,pink 默认为逗号
console.log(arr1.join('-')); //blue-red-pink
console.log(arr1.join('&')); //blue&red&pink
</script>
</head>
<body>
</body>
</html>
明天计划:完成接下来的任务。
评论