JS数据结构(1)——数组

JS数据结构(1)——数组

数据结构就是 在计算机中,存储和组织数据的方式。
在编码中,我们会用到数据结构,其中数组是最简单的数据结构

数组的创建

  1. 使用Array构造函数
var arr1 = new Array();  //创建空数组
var arr2 = new Array(1,2,3); //创建元素为1,2,3的数组
var arr3 = new Array(5);  //创建长度为5的数组

使用Array构造函数,需要使用new关键字。

  1. 使用方括号[]
var arr1 = [] ;  //创建一个空数组
var arr2 = [4,5,6];  //创建元素为4,5,6的数组

判断是否是数组

使用Array.isArray(arr)来判断

Array.isArray(arr1);
结果输出为: true

判断数组的长度

数组有一个属性length,可以用来获取数组的长度。

var arr2 = [4,5,6];
var length = arr2.length;
结果输出为: 3

遍历数组

  • 方式一:for循环遍历数组
for(var i = 0; i < arr.length; i++) {
	console.log(arr[i]);
}
  • 方式二:forEach遍历数组
    forEach()在原数组的基础上改变,没有返回值,在function内进行操作
arr.forEach( function (i) {
    console.log(i);
});
  • 方式三:map遍历数组
    map()会返回一个新数组,原数组不会改变。
var arr = [1,2,3];
var arr1 = arr.map(function (i) {
	return i * i;
});
结果:arr1 = [1,4,9]
  • 方式四:filter遍历数组
    过滤筛选,返回一个新数组,原数组不会改变。
var arr = [1,2,3,4,5,6,7,8,9];
var arr1 = arr.filter(function(i) {
	return i%2==0;
});
结果:arr1 = [2,4,6,8]
  • 方式五:some遍历检测数组中是否有元素满足条件
    如果有一个元素满足条件,则返回true,剩下的元素不会再进行检测
    如果全部遍历结束,没有满足条件的元素,则返回false
var arr = [10,17,12,11];
arr.some(function(i){
	return i >15;
);
结果:true
  • 方式六:every遍历检测数组是否所有元素都满足条件
    如果有一个元素不满足条件,则返回false,剩下的元素不会再进行检测
    如果全部遍历结束,所有元素都满足条件,则返回true
var arr = [17,10,18,15];
arr.every(function(i){
	return i > 11;
});
结果:false
  • 方法七:find遍历返回通过测试的数组的第一个元素的值
    当数组中的元素满足条件时,find()返回符合条件的这个元素,剩下的元素不会再进行检测
    如果没有符合条件的元素则返回undefined
var arr = [10,12,15,19,111];
arr.find(function(i){
	return i > 14;
});
结果:15

数组的增删改查

1.添加元素
  • 方式一:push()
    向数组末位插入一个元素
var arr = [1,2,3,4,5,6];
arr.push(7);
结果:arr = [1,2,3,4,5,6,7];
  • 方式二:unshift()
    向数组首位插入一个元素
var arr = [1,2,3,4,5,6];
arr.unshift(0);
结果:arr = [0,1,2,3,4,5,6];
  • 方式三:配合length使用
    向数组末位插入一个元素
var arr = [1,2,3,4,5,6];
ar[arr.length] = 8;
结果:arr = [1,2,3,4,5,6,8];
2.删除元素
  • 方式一:pop()
    删除数组末位一个元素
var arr = [1,2,3,4,5,6];
var number = arr.pop();
结果:arr = [1,2,3,4,5]; number = 6;
  • 方式二:shift()
var arr = [1,2,3,4,5,6];
var number = arr.shift();
结果:arr = [2,3,4,5,6]; number = 1;
3.替换元素

splice()方法
splice(index,length,new_arr)
index:从第几个元素开始替换
length:需要替换的元素的个数
new_arr:替换出来的元素存储在new_arr里

使用splice()进行替换:

var arr = [1,2,3,4,5,6];
var arr1 = arr.splice(0,2,9);
结果:arr = [9,3,4,5,6];  arr1 = [1,2];
使用splice()进行删除:

var arr = [1,2,3,4,5,6];
arr.splice(2,3);
结果:arr = [1,2,6];   arr1 = [3,4,5];
使用splice()进行插入:

var arr = [1,2,3,4,5,6];
arr.splice(2,0,10,11,12);
结果:arr = [1,2,10,11,12,3,,4,5,6];
4.查找运算

方式一:indexOf()
查找某个字符串在要查询的字符串中首次出现的位置的索引值

var arr = [1,2,3,4,3,2,1];
var n = arr.indexOf(3);
结果: n = 2;
  • 方式二:lastIndexOf()
    查找某个字符串在要查询的字符串中最后一个出现的索引值
var arr = [1,2,3,4,3,2,1];
var  n = arr.lastIndexOf(3);
结果:n = 4;

注意:如果某字符串中只有一个要查询的字符串,那么lastIndexOf和indexOf结果是一样的。

数组的其他操作

1.反序reverse()
var arr = [1,2,3,4];
arr.reverse();
结果:arr = [4,3,2,1];
2.排序sort()

按照字典顺序对元素进行排序

var arr = [8,5,6,2,3,1];
arr.sort();
结果:arr = [1,2,3,5,6,8];
3.连接concat()

连接两个或者多个数组,并且返回该数组。

var arr1 = [1,2,3];
var arr2 = [4,5,6];
arr1.concat(arr2);
结果:arr1 = [1,2,3,4,5,6];
4.数组转换为字符串
  • 方式一:join()
var arr = [1,2,3,4,5];
arr.join();
结果为:"1,2,3,4,5"
  • 方式二:toString()
var arr = ["a","b","c","d"];
arr.toString();
结果为:“a,b,c,d”
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值