根据字符返回位置
根据字符返回位置 str.indexOf(‘要查找的字符’,[起始的位置])
var str = ‘改革春风吹满地,春天来啦’;
console.log(str.indexOf(‘春’)); //2
console.log(str.indexOf(‘春’, 3));// 8 //从索引号是3的位置开始往后找
查找字符串中某个字符串出现的次数小案例
<script>
// 查找字符串"abcoefoxyozzopp"中所有o出现的位置以及次数
// 核心算法:先查找第一个o出现的位置
// 然后 只要indexOf 返回的结果不是 -1 就会继续往后查找
// 因为indexOf 只能查找到第一个,所有后面的查找,一定是当前索引加1,从而继续查找
var str = "abcoefoxyozzopp";
var obj = ['red', 'blue', 'red', 'yellow', 'red'];
var index = obj.indexOf('red');
var num = 0;
while (index != -1) {
console.log(index);
num++;
index = obj.indexOf('red', index + 1);
}
console.log("o出现的次数" + num);
</script>
根据位置返回字符
- charAt(index)根据位置返回字符
var str = ‘andy’;
console.log(str.charAt(3)); //y
// 遍历所有的字符
for (var i = 0; i < str.length; i++) {
console.log(str.charAt(i)); //a,n,d,y
}
- charCodeAt(index) 返回相应索引号的字符ASSCII值 目的:判断用户按下了哪一个键
console.log(str.charCodeAt(0)); //97
- str[index] H5新增
console.log(str[0]); //a
统计出现最多的字符和次数小案例
<script>
// 有一个对象 来判断是否有该属性 对象['属性名']
var o = {
age: 18
}
if (o['sex']) {
console.log('里面有该属性');
} else {
console.log('没有该属性');
}
// 判断一个字符串'abcoefoxyozzopp'中出现次数最多的字符,并且统计其次数
// 核心算法:利用chartAt() 遍历这个字符串
// 遍历对象,得到最大值和该字符串
var str = 'abcoefoxyozzopp';
var o = {};
for (var i = 0; i < str.length; i++) {
var chart = str.charAt(i); //chart 是字符串的每一个字符
if (o[chart]) { //o[chart]得到的是属性值
o[chart]++;
} else {
o[chart] = 1;
}
}
console.log(o);
// 遍历对象
var max = 0;
var ch = '';
for (var k in o) {
// k 得到是属性名
// o[k] 得到的是属性值
if (o[k] > max) {
max = o[k];
ch = k;
}
}
console.log(max);
console.log('最多的字符串是' + ch);
</script>
concat 连接两个或多个数组
var str = ‘andy’;
console.log(str.concat(‘red’)); //andyred
substr (‘截取的起止位置’,‘截取几个字符’)
var str1 = ‘改革春风吹满地’;
console.log(str1.substr(2, 2)); //春风 //第一个2 是索引号的2 从第几个开始 第二个2是取几个字符
replace 替换字符 (‘被替换的字符’,‘替换为的字符’) 它只会替换第一个字符
var str = ‘andyandy’;
console.log(str.replace(‘a’, ‘b’)); //bndyandy
// 一个字符串’abcoefoxyozzopp’要求把里面的所有o 替换为 *
var str1 = ‘abcoefoxyozzopp’;
while (str1.indexOf(‘o’) != -1) {
str1 = str1.replace(‘o’, '');
}
console.log(str1); //abcefxyzz*pp
split (‘分隔符’) 字符转换为数组 ( join把数组转换为字符串)
var str2 = ‘red,pink,blue’;
console.log(str2.split(‘,’)); //[‘red’, ‘pink’, ‘blue’]
var str3 = ‘red&pink&blue’;
console.log(str3.split(‘&’)); //[‘red’, ‘pink’, ‘blue’]
简单数据类型 (null 返回的是一个空的对象 object)
ar timer = null;
console.log(typeof timer); //object
// 如果有个变量我们以后打算存错为对象,暂时没有想好放啥,这个时候就给null
// 1.简单数据类型 存放在栈里面 里面直接开辟一个空间存放的是值
// 2.复杂数据类型 首先在栈里面存放地址 十六进制表示 然后这个地址指向堆里面的数据