数组转换,字符串,数组转换,字符串转换

字符串

  1. 数组名.toString();将数组转化为字符串
  2. 数组名.join(分隔符),将数组使用分隔符分开

字符串的不可变性

字符串不可变性不要大量拼接字符串

基础包装类型

  1. 把简单数据类型包装成了复杂数据类型
  2. 把临时变量的值给str
  3. 销毁这个临时变量

字符串对象

数组名.indexOf(‘查找的字符’, [起始的位置]);从起始位置开始查找

  1. 查找字符串中某个元素出现的位置及其字数
  2. 原理:先查找第一个元素出现的位置
  3. 只要indexOf返回的结果不是-1就往后继续往后查找
  4. 因为indexOf只能查找到第一个,所以后面的查找,一定是当前索引号加1

查看答案

1
2
3
4
5
6
7
8
9
10

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);

根据位置返回字符

  1. 字符名.charAt(索引值);可以根据位置返回字符
  2. 字符名.charCodeAt(索引号);返回的使相应索引号字符的ASCII码值
  3. 字符名[索引值],指定位置
  • 判断一个字符串‘dadadacasawfefsxDugkgdkada’中出现次数最多的字符,并提交其次数

查看答案

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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);

字符串的操作方法

  1. 字符名.cancat(‘字符串’),实现字符串的相加
  2. 字符名.substr(strat索引号,区字符的长度)
  3. 替换字符 字符名.replace(‘被替换的字符’,’替换为的字符’);
  4. 字符转换为数组

使用while循环

查看实例

1
2
3
4
5
var str = 'dawdsadwasdaadadadw';
while (str.indexOf('d') != -1) {
str = str.replace('d', '*')
}
console.log(str);

使用for循环

查看实例

1
2
3
4
5
6
7
var str = 'dawdsadwasdaadadadw';
for (var i = 0; i <= str.length; i++) {
if(str.indexOf('d') != -1){
str = str.replace('d', '*')
}
}
console.log(str);

字符转换为数组

  1. 字符名.split(‘,’);可以使用不同的分隔符分开
  2. join()数组转换为字符块
  3. toUpperCase,toLowerCase() 大写小写

查看实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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);