首页 > 其他 > 详细

数据结构

时间:2019-07-07 15:32:22      阅读:108      评论:0      收藏:0      [点我收藏+]

1.    数组

1-1创建数组

 

字面量创建数组:

 

let arr = [];

 

构造函数创建数组:

 

let arr = new Array();

 

当我们使用typeof 来打印数组的数据类型时,都会返回一个object,如下:

 

let arr1 = [];

let arr2 = new Array();

console.log(typeof arr1);//object

console.log(typeof arr2);//object

 

1-2 数组赋值

先声明再赋值

 

let arr = [];

arr[0] = 1;

arr[1] = 2;

arr[2] = 3;

 

注意下标是从0开始的。

 

声明时直接赋值:

 

let arr = [1,2,3,4,5];

 

我们可以在数组任意位置进行赋值,数组的长度会自动改变,空的位置使用undefined来进行填充

 

let arr = [];

arr[0] = 1;

arr[4] = 10;

console.log(arr);

//[ 1, <3 empty items>, 10 ]

 

注意:js里面数组的数据类型可以是任意类型。

 

let arr = [1,"Hello",3.14,true];

 

 

1-3 访问数组元素

通过数组的下标来访问储存在数组里面的元素。

 

let arr = [1,2,3,4,5];

console.log(arr[0]);//1

 

let arr = [1,2,3,4,5];

let i = 2;

console.log(arr[i]);//3

 

 

1-4 删除元素

使用delete运算符来删除数组中某一个元素

 

let arr = [1,2,3,4,5];

delete arr[2];//删除数组中的第3个元素

console.log(arr);

//[ 1, 2, <1 empty item>, 4, 5 ]

 

 

1-5数组的遍历

通过for循环来遍历数组

 

let arr = [1, 2, 3, 4, 5];

for (let i=0;i<arr.length;i++) {

    console.log(arr[i]);

}

// 1

// 2

// 3

// 4

// 5

 

通过for-in来遍历数组

 

let arr = [1, 2, 3, 4, 5];

for (let i in arr) {

    console.log(`键为${i}的元素值为{arr[i]}`);

}

//键为0的元素值为1

//键为1的元素值为2

//键为2的元素值为3

//键为3的元素值为4

//键为4的元素值为5

 

通过for-of来遍历数组

 

let arr = [1, 2, 3, 4, 5];

for (let i of arr) {

    console.log(i);

}

// 1

// 2

// 3

// 4

// 5

 

 

2.    数组的属性和方法

2-1 数组相关属性

length:返回数组元素的个数

 

let arr = [1,2,3,4,5];

console.log(arr.length);//5

 

利用这个属性可以快速清空数组。

 

let arr = [1,2,3,4,5];

arr.length = 0;

console.log(arr);//[]

 

 

2-2 数组相关方法

添加删除方法

 

通过push()和pop()方法来实现添加删除,

 

let arr = [];

let i = arr.push("red","blue");

console.log(arr);//[ ‘red‘, ‘blue‘ ]

console.log(i);//2

let j = arr.pop();

console.log(arr);//[ ‘red‘ ]

console.log(j);//blue

 

注意push()方法推入元素的时候是从右往左边推入的

 

shift()方法可以去除数组中第一个元素并且返回该元素。利用shift()和push()方法就可以实现从右往左的队列

 

let arr = [];

arr.push("red","green","pink");

let item = arr.shift();

console.log(item);//red

console.log(arr);//[ ‘green‘, ‘pink‘ ]

 

unshift()方法是在数组开头推入一个元素,跟pop()方法配合可以实现从左往右的队列

 

let arr = [];

arr.unshift("red","green","pink");

let item = arr.pop();

console.log(item);//pink

console.log(arr);//[ ‘red‘, ‘green‘ ]

 

 

操作方法

contact():先创建一个当前数组的副本,然后将接收道德参数添加到副本的末尾,最后返回新构建的数组,而原本的数组不会变化

 

let arr = [1,2,3];

let arr2 = arr.concat("red","blue");

console.log(arr);//[ 1, 2, 3 ]

console.log(arr2);//[ 1, 2, 3, ‘red‘, ‘blue‘ ]               

 

slice():接收一个或者两个参数,代表返回项的起始和结束位置。

一个参数就代表起始位置,返回从指定的起始位置到数组末尾的所有项。

两个参数:从指定的起始位置到指定的末尾位置之间的项,但是不包括结束位置的项。

 

let arr = [1,2,3,4,5,6,7,8,9,10];

let i = arr.slice(3);

console.log(i);//[ 4, 5, 6, 7, 8, 9, 10 ]

console.log(arr);//[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]

let j = arr.slice(2,6);

console.log(j);//[ 3, 4, 5, 6 ]

console.log(arr);//[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]

 

splice():可以实现对数组的删除、插入和替换

 

删除:可以删除任意数量的元素,指定2个参数:要参数的第一项位置和要删除的项数。

 

let arr = [1,2,3,4,5,6,7,8,9,10];

let i = arr.splice(3,5);

console.log(i);//[ 4, 5, 6, 7, 8 ]

console.log(arr);//[ 1, 2, 3, 9, 10 ]

 

插入:可以向任意位置插入任意数量的元素,只需要提供三个参数:起始位置,0,要插入的参数。

 

let arr = [1,2,3,4,5,6,7,8,9,10];

let i = arr.splice(3,0,"red","blue");

console.log(i);//[]

console.log(arr);

//[ 1, 2, 3, ‘red‘, ‘blue‘, 4, 5, 6, 7, 8, 9, 10 ]

 

替换:替换的原理在于在插入的同时进行删除。

 

let arr = [1,2,3,4,5,6,7,8,9,10];

let i = arr.splice(3,2,"red","blue");

console.log(i);//[ 4, 5 ]

console.log(arr);

//[ 1, 2, 3, ‘red‘, ‘blue‘, 6, 7, 8, 9, 10 ]

 

Join()split()

 

Join():将数组转化为字符串,可以传入分隔符作为参数。

 

let arr = [1,2,3];

let str = arr.join("");

console.log(str);//123

let str2 = arr.join(",");

console.log(str2);//1,2,3

 

split():将字符串转化为数组,传入参数指明以什么作为分割符

 

let str = "Hello";

let arr = str.split("");

console.log(arr);//[ ‘H‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘ ]

let arr2 = str.split("l");

console.log(arr2);//[ ‘He‘, ‘‘, ‘o‘ ]

数据结构

原文:https://www.cnblogs.com/boring333/p/11146256.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!