JavaScript学习:JavaScript数组

一、JS数组两种表示方法
1、var cars = [“Saab”, “Volvo”, “BMW”];
2、var cars = new Array(“Saab”, “Volvo”, “BMW”); 使用JavaScript关键词new。
出于简洁、可读性和执行速度的考虑,请使用第一种方法(数组文本方法)。
二、访问数组元素
索引号(下标号)从0开始
访问:var name = cars[0]; 修改cars中的首个元素:cars[0] = “Opel”;
三、数组是对象数组是特殊类型的对象,typeof返回object,但数组使用数字来访问其元素,例如上面的cars[0];对象使用名称来访问,例如:var person = {firstName:“John”, lastName:“Doe”, age:46}; person.firstName;//返回John
四、数组属性,JavaScript 数组的真实力量隐藏在数组的属性和方法中。
length属性,返回数组的长度(数组元素的数目)
例:
var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits.length; // fruits 的长度是 4
var first=fruits[0];访问地一个数组元素
var last = fruits[fruits.length - 1];访问最后一个数组元素
注意:length 属性始终大于最高数组索引(下标)。
五、数组方法
1、遍历数组元素
a、for循环:遍历数组最安全的方法。
例:
在这里插入图片描述
b、也可以使用 Array.foreach() 函数

在这里插入图片描述
2、push()方法添加数组元素
例:
var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits.push(“Lemon”); // 向 fruits 添加一个新元素 (Lemon)
注意:添加最高索引的元素可在数组中创建未定义的“洞”。
例:
var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits[6] = “Lemon”; // 向 fruits 添加一个新元素 (Lemon)
//Banana Orange Apple Mango undefined undefined Lemon
3、pop()方法从数组中删除最后一个元素
pop() 方法返回“被弹出”的值
例:
var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
var x = fruits.pop(); // x 的值是 “Mango”
4、shift() 方法删除首个数组元素,并把所有其他元素“位移”到更低的索引。
例:
var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits.shift(); // 从 fruits 删除第一个元素 “Banana” 返回 “Banana”
5、unshift() 方法在开头向数组添加新元素,并“反向位移”旧元素。
例:
var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits.unshift(“Lemon”); // 向 fruits 添加新元素 “Lemon” 返回 5
6、toString()把数组转换个删除成字符串逗号隔开的字符串
例:
var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
document.getElementById(“demo”).innerHTML = fruits.toString();
//Banana,Orange,Apple,Mango
7、join() 方法将所有数组元素结合为一个字符串,行为和toString类似,但是可以规定分隔符。
例:
var fruits = [“Banana”, “Orange”,“Apple”, “Mango”];
document.getElementById(“demo”).innerHTML = fruits.join(" * ");
// Banana * Orange * Apple * Mango
8、删除元素用delete 运算符来删除
例:
var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
delete fruits[0]; // 把 fruits 中的首个元素改为 undefined
注意:使用 delete 会在数组留下未定义的空洞。请使用 pop() 或 shift() 取而代之。
9、splice()方法拼接数组可用于向数组添加新项
例:
var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits.splice(2, 0, “Lemon”, “Kiwi”); //新数组:
Banana,Orange,Lemon,Kiwi,Apple,Mango
例:
var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits.splice(2, 2, “Lemon”, “Kiwi”);//新数组:
Banana,Orange,Lemon,Kiwi(已删除项:
Apple,Mango)
第一个参数(2)定义了应添加新元素的位置(拼接)。
第二个参数(0)定义应删除多少元素。
其余参数(“Lemon”,“Kiwi”)定义要添加的新元素。
a、使用 splice() 来删除元素
例:
var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits.splice(0, 1); // 删除 fruits 中的第一个元素
第一个参数(0)定义新元素应该被添加(接入)的位置。
第二个参数(1)定义应该删除多少个元素。
其余参数被省略。没有新元素将被添加。
10、concat()方法合并(连接)数组通过合并(连接)现有数组来创建一个新数组
例(合并两个数组)
var myGirls = [“Cecilie”, “Lone”];
var myBoys = [“Emil”, “Tobias”, “Linus”];
var myChildren = myGirls.concat(myBoys); // 连接 myGirls 和 myBoys
concat() 方法不会更改现有数组。它总是返回一个新数组。
concat() 方法可以使用任意数量的数组参数:
例(合并三个数组):
var arr1 = [“Cecilie”, “Lone”];
var arr2 = [“Emil”, “Tobias”, “Linus”];
var arr3 = [“Robin”, “Morgan”];
var myChildren = arr1.concat(arr2, arr3); // 将arr1、arr2 与 arr3 连接在一起
例(将数组与值合并)
var arr1 = [“Cecilie”, “Lone”];
var myChildren = arr1.concat([“Emil”, “Tobias”, “Linus”]);//Emma,Isabella,Jacob,Michael,Ethan
11、slice()裁剪数组用数组的某个片段切出新数组,它不会从源数组中删除任何元素
例:
var fruits = [“Banana”, “Orange”, “Lemon”, “Apple”, “Mango”];
var citrus = fruits.slice(1); //orange开始,Orange,Lemon,Apple,Mango
a、slice() 可接受两个参数,比如 (1, 3)。该方法会从开始参数选取元素,直到结束参数(不包括)为止。
例:
var fruits = [“Banana”, “Orange”, “Lemon”, “Apple”, “Mango”];
var citrus = fruits.slice(1, 3); // 1参数表示从1开始裁剪,3参数表示裁剪3个但不包括第三个
六、关联数组
很多编程元素支持命名索引的数组,具有命名索引的数组被称为关联数组(或散列)。JavaScript 不支持命名索引的数组,在 JavaScript 中,数组只能使用数字索引
例:
var person = [];
person[0] = “Bill”;
person[1] = “Gates”;
person[2] = 62;
var x = person.length; // person.length 返回 3
var y = person[0]; // person[0] 返回 “Bill”
假如您使用命名索引,JavaScript 会把数组重定义为标准对象。之后,所有数组的方法和属性将产生非正确结果。
例:
var person = [];
person[“firstName”] = “Bill”;
person[“lastName”] = “Gates”;
person[“age”] = 62;
var x = person.length; // person.length 将返回 0
var y = person[0]; // person[0] 将返回 undefined
七、数组和对象的区别
在 JavaScript 中,数组使用数字索引
在 JavaScript 中,对象使用命名索引
数组是特殊类型的对象,具有数字索引。
八、何时使用数组or对象
JavaScript不支持关联数组,如果希望元素名为字符串(文本)应使用对象;如果希望元素名为数字应使用数组
W3School JavaScript

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值