第一部分 基础知识
第3章 数组
- 当需要创建很多变量时,可以创建一个数组将所有变量都记录在一起
- 创建数组的写法:var newGroup [ ]
- 只使用[ ] 时,数组为空
- 在创建数组时,可以直接将元素放到数组中
程序举例11
//Create a group of animals
var animals = [ “monkey”, “tiger”, “lion”, “giraffe”, “elephant”]
- 数组中每个元素的位置关系跟字符串字符的位置关系相似
- 当需要访问数组中元素时,可使用方括号和元素位置索引,如animal [0] 即monkey
- 创建数组元素时,可以在数组任意位置索引处创建
- 访问元素时,可以给已赋值的位置索引重新赋值
- 数组内也包括数组
- 数组内数组的元素位置索引可以用两个方括号表示
程序举例12
//Show the right location of the elements
var animals = [ [ “monkey”, 9 ] , [ “tiger”, 5 ] , [ “lion”, 10 ] , [ “giraffe”, 7 ] , [ “elephant”, 4] ]
animals [0] [1]
返回值:9
- 需要知道数组的长度,可以在数组后加上JavaScript内置函数 . length
- 需要用.length变量访问数组最后一个元素时,写法为:animals [ animals. length-1 ]
程序举例13
//Calculate the length of the group
animals. length
返回值:5
//Show me the last elements of the group
animals [ animals. length -1 ]
返回值:“elephant”, 4
- 要在数组末尾添加元素时,可使用JavaScript内置函数. push
- 通常与. push配对使用的有. pop (从数组末尾开始删除元素)
- . push和.pop是队列中的后进先出;.shift和.unshift是队列中的先进先出
程序举例14
// Add a new animal
animals . push ( [ “zebra”, 8 ] )
console. log ( animals )
返回值:[ “monkey”, 9 ] , [ “tiger”, 5 ] , [ “lion”, 10 ] , [ “giraffe”, 7 ] , [ “elephant”, 4] , [ “zebra”, 8 ]
- 连接多个数组可以使用JavaScript内置函数. concat ( )
程序举例15
// Join the two group
var animals = [ “monkey”, “tiger” ]
var fish = [ “shark”, “whale” ]
var creatures = animals. concat ( fish )
返回值:[ “monkey”, “tiger”, “shark”, “whale” ]
- 查找数组中单个元素地索引,可以使用JavaScript内置函数.indexOf ( )
- 当数组中没有查找的元素时,返回值为 -1
程序举例16
//Find the index of the color
var color = [ “red”, “green”, “blue” ]
color. indexOf ( “purple” )
返回值:-1
//Find the index of the color
var color = [ “red”, “green”, “blue” ]
color. indexOf ( “blue” )
返回值:2
- 当需要生成随机数字时,可使用JavaScript内置函数Math. random ( )
- Math. random ( ) 生成的随机数字在0~1之间(小于1)
- 当需要的随机数字比1大时,可以用Math. random ( )乘以一定的倍数
- 当需要使用随机数字并取整时,可以使用JavaScript内置函数Math. floor ( )
程序举例17
//Give me a random number
Math. floor (Math. random ( ) *10 )
返回值:(1-9的整数)
程序举例18
//Create a simple decision making function
function tellMe (question) {
if( question == null) {
console.log ("Please enter a correct question.")
return 1
}
var phrase = [
"That sounds good.",
"Yes, you should definitely do that.",
"I'm not sure that's a great idea.",
"Maybe not today?",
"Computer says no."
]
console.log (phrase [Math.floor(Math.random () * 5)])
return 0
}