JavaScript学习笔记-4


编程语言20 阅0 评

JavaScript 数组

JavaScript 数组和其他语言中的数组并无明显区别。

声明形式

创建数组文本的直接方式进行声明:

var array = [item1, time2, ...];

注意最后一个元素后面不要加空格。

当然,也可以显式的创建数组对象,使用关键字new

var cars = new Array("Saab", "Volvo", "BMW");

但是出于性能和间接性,使用第一种方法。

有意的是,由于 JavaScript 不是强类型语言。所以这个数组中的元素可以是任何一个类型的元素。这一点和 Python 很是相似。

myArray[0] = Date.now;
myArray[1] = myFunction;
myArray[2] = myCars;

访问数组元素

数组元素通过下标从零开始的索引进行访问。

改变数组元素

通过下标索引之后,就相当于取得了这个对象的引用。直接进行赋值操作即可修改对应元素的值。

car[0] = "Opel";

访问完整数组元素

不需要使用索引,直接使用数组名即可。试一试

数组对象

JavaScript 中的数组对象有点类似于 dict 字典类型。

var person = {firstName:"John", lastName:"Doe", age:46};

访问时使用名称来访问其成员。例如:person.firstName

数组的属性和方法

length

返回数组的长度(元素的个数)。

foreach()函数

形如array.foreach(function)。该函数会一次将数组中的元素作为指定函数function中的形参依次调用执行。试一试

var fruits, text;
fruits = ["Banana", "Orange", "Apple", "Mango"];

text = "<ul>";
fruits.forEach(myFunction);
text += "</ul>";

function myFunction(value) {
  text += "<li>" + value + "</li>";
}

push()

向数组中添加新元素。

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Lemon");                // 向 fruits 添加一个新元素 (Lemon)

也可以直接使用数组下标进行添加。

fruits[4] = "Lemon";
// 如果跳过依次排序的索引,则会产生空隙。
fruits[6] = "Apple";
// 此时,fruits[5] 等于 undefined

试一试

isArray()

返回布尔值,判断这个序列是不是数组,而不是一个对象。

对象使用一个字符串进行索引,类似于字典类型。

而数组使用下标进行索引。

JavaScript 数组方法

将数组转换为字符串

toString()

该方法将数组转换为以逗号分隔的字符串。

var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits.toString(); 

// Banana,Orange,Apple,Mango

join()

该方法可以将数组中的元素合成一个字符串,类似于toString(),但是它可以指定分隔符。

var fruits = ["Banana", "Orange","Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits.join(" * "); 
// Banana * Orange * Apple * Mango

处理元素

pop()

删除数组中最后一个元素,并返回其值。

push(newItem)

在数组末尾添加一个新元素,并返回新数组的长度。

shift()

删除数组中第一个元素,将后面的元素向前移动,并返回该被删除的字符串。

unshift(newItem)

在数组开头添加元素,将后面的元素向后移动,并返回新数组的长度。

splice()

  • 第一个参数定义新元素要添加的位置(索引)。
  • 第二个元素定义了从第一个元素开始应该删除的元素个数
  • 其余参数定义了要添加的新元素。
  • 返回一个包含了已经删除的元素的数组。
// 在索引为2的位置添加("lemon", "Kiwi"),删除0个元素
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2, 0, "Lemon", "Kiwi");
// 在索引为2的位置添加("Lemon", "Kiwi"),删除2个元素
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2, 2, "Lemon", "Kiwi");
// 新数组为:Banana,Orange,Lemon,Kiwi
// 删除的元素为:Apple,Mango

concat()

连接两个数组。strOne.concat(otherOne, otherTwo, ...)

此方法不改变原有数组,返回连接后的新的数组。

也可以传入一个值。

var arr1 = ["Cecilie", "Lone"];
var myChildren = arr1.concat(["Emil", "Tobias", "Linus"]); 

slice(start, end)

数组切片,如果第二个参数被省略,则默认到数组末尾。

自动 toString()

如果在直接传入一个数组名,则默认会打印出整个数组。JavaScript 默认应用 toString()方法将其转换为字符串。

所有的 JavaScript 对象都拥有 toString() 方法。

最后更新 2022-01-07
评论 ( 0 )
OωO
隐私评论