JavaScript中的数组和字符串

知识内容:

1.JavaScript中的数组

2.JavaScript中的字符串

一、JavaScript中的数组

1.JavaScript中的数组是什么

数组指的是数据的有序列表,每种语言基本上都有数组这个概念,但是JavaScript的数组跟别的语言的数组很不同:

  • 数组长度可以动态改变
  • 同一个数组中可以存储不同的数据类型
  • 数据的有序集合
  • 每个数组都有一个length属性,表示的是数组中元素的个数

JavaScript数组从本质上讲是一个Array对象

2.如何创建数组

1 var s1 = ["123", "666", "333"]           // 字面量
2 var s2 = new Array("123", "666", "333")  // 构造函数
3 console.log(s1)
4 console.log(s2)

3.访问、修改数组元素

1 //创建一个长度为 5 的数据
2 var arr = [10, 20, 30, 40, 50];
3 console.log(arr[0]);  //获取下标为 0 的元素,  即:10
4 console.log(arr[2]);  //获取下标为 2 的元素,  即:30
5 
6 arr[1] = 100;  //把下标为 1 的元素赋值为100
7 console.log(arr)

4.遍历数组

有3种方法可以遍历数组:

  • for循环
  • for… in
  • for each ( ES5 新增)

 以下3种循环方法只要熟练掌握一种就可以了

 1 // 普通for循环遍历数组
 2 var arr = [3, 9, 12, 13, 66];       
 3 for(var i = 0; i < arr.length; i++){    //数组长度多长,就遍历多少次。  循环变量作为数组的下标
 4     console.log(arr[i]);
 5 }
 6 
 7 // for ... in 遍历数组
 8 // 每循环一轮,都会把数组的下标赋值给变量index,然后index就拿到了每个元素的下标。 
 9 //注意:这里index是元素的下标,不是与元素
10 //对数组来说,index从从0开始顺序获取下标
11 for (var index in arr) {
12   console.log(index);  //循环输出: 0 1 2 3 4 5
13 }
14 for(var i in arr){
15   console.log(arr[i]);
16 }
17 
18 // for each 遍历数组
19 //调用数组的forEach方法,传入一个匿名函数
20 //匿名函数接受两个参数:   参数1--迭代遍历的那个元素  参数2:迭代遍历的那个元素的下标
21 //可以在匿名函数内部书需要的代码
22 arr.forEach( function(element, index) {
23   console.log(element);
24 });

5.数组其他常用方法

 1 obj.length          数组的大小
 2  
 3 obj.push(ele)       尾部追加元素
 4 obj.pop()           尾部获取一个元素
 5 obj.unshift(ele)    头部插入元素
 6 obj.shift()         头部移除元素
 7 obj.splice(start, deleteCount, value, ...)  插入、删除或替换数组的元素
 8                     obj.splice(n,0,val) 指定位置插入元素
 9                     obj.splice(n,1,val) 指定位置替换元素
10                     obj.splice(n,1)     指定位置删除元素
11 obj.slice( )        切片
12 obj.reverse( )      反转
13 obj.join(sep)       将数组元素连接起来以构建一个字符串
14 obj.concat(val,..)  连接数组
15 obj.sort( )         对数组元素进行排序

(1)获取数组长度

1 var arr = [10, 20, 30, 40, 50];
2 alert(arr.length);  //弹出:5

(2)像数组中添加元素

向数组中添加元素有以下两种方法(一般都是用第一种):

  • obj.push(ele) 尾部追加元素
  • obj.unshift(ele) 头部插入元素
 1 var s = [1, 2, 3]
 2 // 从尾部添加
 3 s.push("新元素")
 4 console.log(s)
 5 s.push("666")
 6 console.log(s)
 7 
 8 // 从头部添加
 9 s.unshift("333")
10 console.log(s)

二、JavaScript中的字符串

JavaScript中字符串类型类似python中字符串类型:

  • 字符串是由字符组成的数组,字符串是不可变的:可以访问字符串任意位置的文本,但并未提供修改已知字符串内容的方法
  • 另外用双引号表示的字符串和单引号表示的字符串完全相同
  • 字符串有可以直接使用的方法

定义字符串:

1 var s = "hello world"
2 var name = 'wyb'

多行字符串:

1 var line = `
2 多行
3 字符串
4 `
5 
6 // 输出到终端(要在浏览器打开检查器的终端才能看到)
7 console.log(line)

字符串常用方法:

 1 obj.length                           长度
 2  
 3 obj.trim()                           移除空白
 4 obj.trimLeft()
 5 obj.trimRight)
 6 obj.charAt(n)                        返回字符串中的第n个字符
 7 obj.concat(value, ...)               拼接
 8 obj.indexOf(substring,start)         子序列位置
 9 obj.lastIndexOf(substring,start)     子序列位置
10 obj.substring(from, to)              根据索引获取子序列
11 obj.slice(start, end)                切片
12 obj.toLowerCase()                    大写
13 obj.toUpperCase()                    小写
14 obj.split(delimiter, limit)          分割
15 obj.search(regexp)                   从头开始匹配,返回匹配成功的第一个位置(g无效)
16 obj.match(regexp)                    全局搜索,如果正则中有g表示找到全部,否则只找到第一个。
17 obj.replace(regexp, replacement)     替换,正则中有g则替换所有,否则只替换第一个匹配项,
18                                      $数字:匹配的第n个组内容;
19                                      $&:当前匹配的内容;
20                                      $`:位于匹配子串左侧的文本;
21                                      $':位于匹配子串右侧的文本
22                                      $$:直接量$符号

将其他类型转化成字符串:

  • toString()
  • String()
 1 var number = 10;
 2 var value = true;
 3 var n = null;
 4 var r;
 5 
 6 alert(String(number));     // "10"
 7 alert(String(value));      // "true"
 8 alert(String(n));          // "null"
 9 alert(String(r));         // "undefined"
10 
11 
12 # toString(): 可以传递一个参数控制输出数值的基数,另外null和undefined没有这个方法
13 var num = 10;
14 alert(num.toString());     // "10"
15 alert(num.toString(2));    // "1010"
16 alert(num.toString(8));    // "12"
17 alert(num.toString(10));   // "10"
18 alert(num.toString(16));   // "a"

定时器:setInterval('执行的代码',间隔时间)

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6 </head>
 7 <body>
 8     <script>
 9         function f1(){
10             console.log(1);
11         }
12 
13         // 创建一个定时器
14         //setInterval("alert(123);", 5000);     // 每隔5秒弹框
15         setInterval("f1();", 2000);             // 每隔2秒log出1
16     </script>
17 </body>
18 </html>

猜你喜欢

转载自www.cnblogs.com/wyb666/p/9348508.html