发表于: 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);


   //根据位置返回字符
   // 1charAt(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));
   //
   // //3str[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);

//数组转化为字符串
//1toString() 将我们的数组转化为字符串
var arr = [1,2,3];
console.log(arr.toString()); //1,2,3
//2join(分割符)
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>

明天计划:完成接下来的任务。



返回列表 返回列表
评论

    分享到