来源博客:【Harryの心阁】
-
数组转换,字符串,数组转换,字符串转换
字符串
- 数组名.toString();将数组转化为字符串
- 数组名.join(分隔符),将数组使用分隔符分开
字符串的不可变性
字符串不可变性不要大量拼接字符串
基础包装类型
- 把简单数据类型包装成了复杂数据类型
- 把临时变量的值给str
- 销毁这个临时变量
字符串对象
数组名.indexOf(‘查找的字符’, [起始的位置]);从起始位置开始查找
- 查找字符串中某个元素出现的位置及其字数
- 原理:先查找第一个元素出现的位置
- 只要indexOf返回的结果不是-1就往后继续往后查找
- 因为indexOf只能查找到第一个,所以后面的查找,一定是当前索引号加1
var str = 'abiosabsabsaebasxabsab';
var index = str.indexOf('a');
var num = 0;
while (index != -1){
console.log(index);
index = str.indexOf('a', index +1);
num++;
}
console.log('出现的次数为'+num);
根据位置返回字符
- 字符名.charAt(索引值);可以根据位置返回字符
- 字符名.charCodeAt(索引号);返回的使相应索引号字符的ASCII码值
- 字符名[索引值],指定位置
- 判断一个字符串‘dadadacasawfefsxDugkgdkada’中出现次数最多的字符,并提交其次数
var str = 'dadsdadjihoihbaadhhzahizjcanadasj';
var o = {};
for (var i = 0; i <= str.length; i++) {
var chars = str.charAt(i);
if (chars in o) {
o[chars]++;
}
else {
o[chars] = 1;
}
}
console.log(o);
var max = 0;
var ch = '';
for (var k in o){
if(o[k]>max){
max = o[k];
ch = k;
}
}
console.log('输出字符最多的次数为:'+max+'次');
console.log('输出次数最多的字符为:'+ch);
字符串的操作方法
- 字符名.cancat(‘字符串’),实现字符串的相加
- 字符名.substr(strat索引号,区字符的长度)
- 替换字符 字符名.replace(‘被替换的字符’,‘替换为的字符’);
- 字符转换为数组
- 使用while循环
var str = 'dawdsadwasdaadadadw';
while (str.indexOf('d') != -1) {
str = str.replace('d', '*')
}
console.log(str);
- 使用for循环
var str = 'dawdsadwasdaadadadw';
for (var i = 0; i <= str.length; i++) {
if(str.indexOf('d') != -1){
str = str.replace('d', '*')
}
}
console.log(str);
字符转换为数组
- 字符名.split(’,’);可以使用不同的分隔符分开
- join()数组转换为字符块
- toUpperCase,toLowerCase() 大写小写
var str = 'abaasdffggghjkkfssss3444343'
// console.log(str.length);
// var i = prompt('请输入要取出的字符索引号:');
// var s = prompt('请输入要查询的字符:');
// alert('使用类似返回数组的方法返回字符为:'+str[i]+'\n使用另一种charAt()返回字符为:'+str.charAt(i));
// if(str.indexOf(s) != -1){
// alert('您输入字符存在')
// }
// else{
// alert('您输入的字符不存在')
// }
// for(var i = 0; i<=str.length;i++){
// str = str.replace('g','22');
// str = str.replace('ss', 'b');
// }
// alert(str);
// var str1 = str.substr(3, 3)
// alert(str1)
var o = {};
for (var i = 0; i <= str.length; i++) {
var chars = str.charAt(i);
if (chars in o) {
o[chars]++;
}
else {
o[chars] = 1;
}
}
console.log(o);
var max = 0;
var ch = '';
for (var k in o){
if(o[k]>max){
max = o[k];
ch = k;
}
}
console.log('输出字符最多的次数为:'+max+'次');
console.log('输出次数最多的字符为:'+ch);