js---数据结构学习第一日--数组的增删

一.数据类型

基本类型:String,Boolean,Number,undefined,null复杂类型:Object

二.数组

所谓数组,是有序的元素序列。 若将有限个类型相同的变量的集合命名,那么这个“名”称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。这些无序排列的同类数据元素的集合称为数组。简单来说数组就是用于储存多个相同类型数据的集合。(当然,js中的数组也可以存储不同类型数据,但是!不建议这样做!)

2.1数组的创建和初始化

//创建一个空数组
var newArr=[];
var newArr = new Array();
//创建一个指定长度的数组
var newLenArr = new Array(4);
//创建一个具有指定参数的数组
var numArr = new Array(1,2,3,4);
//通过下标读取数据
numArr[2]//取出3

2.2数组的增删

数组自带的方法来实现数组头尾的增删:

push(数组尾部插入元素),

var nums = [0,1,2,3,4];
//不用push方法给尾部插入元素
nums[nums.length]=5;
//使用push()方法
nums.push(5,6,6);
//[0,1,2,3,4,5,6,6]

unshift(数组头部插入元素),

var nums = [0,1,2,3,4,5,6];
不使用unshift实现:
for (var i=nums.length;i>=0;i- -){
nums[i]=nums[i-1];
}
//[undefined,0,1,2,3,4,5,6]
num[0]=-1;
//[-1,0,1,2,3,4,5,6]

pop(数组尾部删除元素),

var nums = [0,1,2,3,4,5,6];
//不使用pop实现
nums.length=nums.length-1;
//[0,1,2,3,4,5]

shift(数组头部删除元素)

var nums = [0,1,2,3,4,5,6];
for(var i=0;i< nums.length;i++){
nums[i]=nums[i+1]
}

使用splice()方法,在数组的任意位置添加和删除元素:splice()方法会修改原数组

var nums = [0,1,2,3,4,5,6,7];

用法1:

nums.splice(2);
//[0, 1]
//如果只加一个参数,说明删除从下标2开始的所有的后面的元素

用法2:

nums.splice(2,1);
//[0, 1, 3, 4, 5, 6, 7]
//如果加入两个参数,则为删除从下标2开始的后面的几个元素。

用法3:

var nums = [0,1,2,3,4,5,6,7];
nums.splice(2,1,”a”,”b”,”c”);
//[0, 1, “a”, “b”, “c”, 3, 4, 5, 6, 7]
//三个或多个参数,意味着删除从下标2(第一个参数)开始的后面的1个(第二个参数)元素,并在下标2的后面加入从第三个参数开始的后面的所有参数,把第二个参数设置为0就可以不删除元素从而实现从任意位置添加元素

也可以使用delete操作符删除数组中的元素
但delete只是删除对应下标的值,并没删除储存值的空间,会产生undefined
var nums = [0,1,2,3,4,5,6,7];
delete nums[2];
//[0, 1, undefined, 3, 4, 5, 6, 7]

slice()方法

会返回参数选定的范围的数组。该方法有两个参数,start(必选)和end(可选)。这两个值可以为负数,如果为负数则默认从尾部的第一个参数算起,也就是说-1就是数组的最后一个元素,-2就是数组的倒数第二个元素,以此类推。如果不传end,则默认从start开始直到数组最后一个元素都会被截取。
var nums = [0,1,2,3,4,5,6,6,7,”a”,9,10]
var a = nums.slice(1,5);
console.log(a);//[1, 2, 3, 4]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

达芬绿瓶小

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值