基于键值的存储多个数据的数组(数组)

  数组 一、概念

  对象中可以通过键值对存储多个数据,且数据的类型是没有限制的,所以通常会存储一个商品的信息或一个人的信息:

  <pre class="kdocs-plaintext">`var obj = {

goodsname:"手机",
price:"5000",
introduce:"手机很时尚,很漂亮!"

}
var person = {

name:"张三",
age:12,
sex:"男"
pre>

  但对象在存储同类型数据的时候比较困难,例如,存储一个班级所以人的姓名:

  <pre class="kdocs-plaintext">`var obj = {

name1:"张三",
name2:"李四",
name3:"王五",
...
pre>

  这种存储方式我们没有办法通过一个人的姓名获取到这个人的编号,也没有办法通过一个编号获取到某个人的姓名。

  js提供了另外一种对象类型的数据,可以通过编号来存储数据:数组。也是对象3种表现形式中的另外一种,[]定义的对象。

  二、数组定义

  <pre class="kdocs-plaintext">var arr = []</pre>

  这是一个空数组,定义带数据的数组:

  <pre class="kdocs-plaintext">var arr = [&#39;张三&#39;,&#39;李四&#39;,&#39;王五&#39;,&#39;赵六&#39;]</pre>

  输出结果:

  数组中的数据类型没有限制,在实际项目中,数组中通常会存储同一类型的数据。

  <pre class="kdocs-plaintext">var arr = [&#39;a&#39;,2,false,undefined,{name:"张三"}];</pre>

  数组这种数据,相当于在一个大空间中,有很多小空间,每个值前面的数字,表示这个小空间的编号,专业术语叫下标。第一个下标永远是0,依次向后递增,最后一个下标是值的个数-1

  也就是说,数组这种数据中每个值是有顺序的。

  js还提供了一个构造函数,用来创建数组:

  <pre class="kdocs-plaintext">var arr = new Array("张三","李四","王五")</pre>

  这两种方式定义的数据是一样的。

  有一种情况js 多维数组删除元素,这两种定义方式是不一样的:

  <pre class="kdocs-plaintext">`var arr = [5]
var brr = new Array(5)
console.log(arr,brr)`</pre>

  []形式定义的是一个数组中有一个小空间,其中的值是5;构造函数方式定义的,表示有5个空的小空间。

  数组的规律:

  第一个值的下标永远是0;

  最后一个值的下标永远是值的个数-1。

  三、数组基本操作

  数组中值的个数:数组.length

  <pre class="kdocs-plaintext">`var arr = ['张三',"李四","王五","赵六"];
var arr1 = [1,2,3,4,5,6];
console.log(arr.length); // 4
console.log(arr1.length); // 6`</pre>

  访问数组中的元素:数组[下标]

  例:

  <pre class="kdocs-plaintext">`var arr = ["张三","李四","王五"];
console.log(arr[1]); // 李四`</pre>

  第一个值永远是:数组[0];最后一个值永远是:数组[数组.length-1]

  添加元素:数组[下标] = 值

  例:

  <pre class="kdocs-plaintext">`var arr = ["张三","李四"];
arr[2] = "王五";
console.log(arr); // (3) ["张三", "李四", "王五"]
arr[10] = "赵六";
console.log(arr); // (11) ["张三", "李四", "王五", empty × 7, "赵六"] 中间还有7个空元素`</pre>

  修改元素:数组[下标] = 值

  例:

  <pre class="kdocs-plaintext">`var arr = ["张三","李四"];
arr[0] = "王五";
console.log(arr); // (2) ["王五", "李四"]`</pre>

  使用说明:如果下标是已经存在的,那赋值操作就是修改数组元素的值,如果下标是不存在,那赋值操作就给数组添加元素。

  删除元素:delete 数组[下标]

  <pre class="kdocs-plaintext">`var arr = [1,2,3];
delete arr[0];
console.log(arr)`</pre>

  这种删除方式,只能删除值,并不能删除小空间。

  数组长度的赋值:

  <pre class="kdocs-plaintext">`var arr = [1,2,3];
arr.length = 0;
console.log(arr) // []
var arr = [1,2,3];
arr.length = 10;
console.log(arr)`</pre>

  <pre class="kdocs-plaintext">`var arr = [1,2,3];
arr.length = 1;
console.log(arr) // [1]`</pre>

  遍历数组:

  如果要将数组中的所有元素都输出,操作如下:

  <pre class="kdocs-plaintext">`var arr = ["张三","李四","王五","赵六"];
console.log(arr[0]); // 张三
console.log(arr[1]); // 李四
console.log(arr[2]); // 王五
console.log(arr[3]); // 赵六`</pre>

  从上面输出的代码中可以看出,多次输出是在进行重复动作,并且多次重复之间是有规律可循的,所以可以使用循环进行这个重复动作:

<p><pre class="kdocs-plaintext">var arr = ["张三","李四","王五","赵六"];
var length = arr.length;
for(var i=0;i

文章由官网发布,如若转载,请注明出处:https://www.veimoz.com/1974
0 评论
597

发表评论

!