数组的简介

一、什么是数组?
数组:数据的组合,每个数据都使用逗号分隔,数据可以是任何类型,数据顺序排列,可以重复。

二、数组的构成
1、索引(下标):数组中的数据按照顺序排列,从0开始,把这个叫做索引,也叫做下标。
2、元素(元):把数组中的每个数据叫做元素,或者简称元。
3、数组长度:就是元素的个数,数组的最大下标是数组的长度-1,也就是元素个数-1。

三、数组的创建方式
1、字面量创建 var arr=[];
例:var arr=[4,5,3,6,2,1];
2、构造函数创建 var arr1=new Array();
例:var arr1=new Array(4,5,3,6,2,1);
说明:如果通过数组的构造函数创建数组,参数仅有1个,且这个参数是正整数,则表示新建一个具备该正整数长度的空数组,里面有这个长度的若干空元素,如果是负数或者小数时,报错。
例: var arr2=new Array(5);
var arr2=new Array(3.5);
如果输入的不是数值,是其他类型时,这个数据就会作为该数组的第0个元素,长度为1。
例: var arr2=new Array(“a”);
3、根据对象创建数组 var arr=new Object([]); 一般很少用
例: var arr=new Object([1,2,3,4,5]);

四、数组的使用
1、数组实际上就是来源于对象,脱胎于对象,继承于对象。在对象中属性名填入任何内容都会隐式转换为字符。
2、在数组中所有的下标都会转换为number,如果不能转换为number的(也就是转换后是NaN的),就会默认添加为对象的属性名。
3、数组的长度,仅记录下标的个数,不包含属性数量。
4、数组不可以使用点语法获取下标变量,但是可以使用点语法取属性。
例: var arr=[1,2,3,4,5,6,7];
console.log(arr[0]);//1
console.log(arr[“0”]);//1
arr[“a”]=10;//增加一个属性名为5,属性值为10的对象。
arr[“5”]=20;//修改属性名5的值为20。
console.log(arr);// [1, 2, 3, 4, 5, 20, 7, a: 10]

五、遍历数组
1、数组的循环是根据下标的数字从0开始循环到最大下标,有序。对象是循环所有属性名,无序对象的属性遍历是根据对象属性名添加的顺序。
2、遍历数组for in和for有什么区别?
当使用for in遍历时,会将所有属性包括下标都会转为字符型。
for in不会遍历空元素,for会遍历空元素。
for in可以遍历到数组的属性,for只能遍历数组所有下标,不能遍历属性,属性包含字符和下标(数字)。

六、数组的方法
1、push();在数组尾部添加一个或者多个元素,并且返回数组的新长度。
例: var arr=[1,2,3,4,5];
arr.push(6,7,8);
console.log(arr,a);
结果:arr=[1,2,3,4,5,6,7,8];a=7;
2、unshift();在数组头部添加一个或者多个元素,并且返回数组的新长度。
3、pop();删除数组尾部的最后一个元素,并且将这个被删除的元素返回。
4、shift();删除数组的第一个元素,并且返回被删除的元素。
5、concat();合并两个或更多的数组,并返回新数组。
例: var arr=[1,2,3,4];
var arr1=[5,6,7,8];
var arr2=arr.concat(arr1);
结果:arr2=[1,2,3,4,5,6,7,8];
6、join();就是将数组的每个元素以指定的字符连接,形成新字符串返回。
例: var arr=[1,2,3,4,5];
var str=arr.join("|");
结果:str=1|2|3|4|5;
7、splice() 插入,删除,替换元素。
语法:arr.splice(从什么位置开始,删除多少个元素,要插入的元素);
例:将数组中第二位开始两位元素替换为10,11.
var arr=[1,2,3,4,5];
var arr1=arr.splice(2,2,10,11);
结果:arr1=[1,2,10,11,5];
8、slice();按指定位置截取复制数组的内容。
语法: 数组.slice(从什么位置开始,到什么位置之前结束);
说明:只能从前向后截取 , 第二个参数不写,默认截取到尾部.
例:var arr=[1,2,3,4,5,6,7];
var arr1=arr.slice(1,4);//从第1位开始截取到第4位之前结束
结果:arr1=[2,3,4];
9、indexOf 从前向后查找。
语法:数组.indexOf(要查询的元素,从什么位置开始查询); 位置就是指下标。
说明:在数组中查找某个元素,如果查找到,返回该元素所在的下标,如果没有查找到,则返回-1。
例: var arr=[1,3,1,2,3,5,2,3,4,6];
var index=arr.indexOf(3,2);//要查询元素3,从下标2开始查询
console.log(index); //查询到的结果是下标4
var index=arr.indexOf(7);//查找元素7
console.log(index); //没有查找到返回-1
10、lastIndexOf 从后向前查找。
说明:语法和用法与indexOf一样,不同的是从数组后面开始查询。
11、forEach用于遍历数组。
语法:数组.forEach(function(数组中的元素,每个元素对应的下标,数组自身){ });
说明:使用forEach可以跳过空元素,forEach没有返回值,使用return无效。
12、map会返回一个与原数组长度相等的新数组。
语法:数组.map(function(数组中的元素,每个元素对应的下标,数组自身){ });
例1:可以完成数组复制(包括空元素),在map中使用return 就是在对应的下标中添
加对应的数据。
var arr=[3,5,7,9,1,2,4];
var arr1=arr.map(function(item,index,arr){
return item+10;//此时数组中的每个元素都加10.
});
结果:arr1=[13,15,17,19,11,12,14];
13、sort();对数组的元素进行排序(仅适用于数值)。
语法:数组.sort(function(后一项,前一项){});仅适用于数值。
例:var arr=[0,1,7,2,5,8,10,4,3,6,9];
arr.sort(function(a,b){
return a-b;
});
console.log(arr);
结果:arr=[0,1,2,3,4,5,6,7,8,9,10];
注释:return 后项-前项 从小到大排序
return 前项-后项 从大到小排序
14、some();对数组的每个元素判断是否满足条件,如果都不满足就返回false,如果有一个满足的就返回true,并且不再判断后面的内容。
例: var arr=[1,4,6,2,7,9,0];
var bool=arr.some(function(item,index,arr){
return item>5;
});
console.log(bool);//true
15、every();对数组的每个元素判断是否满足条件,如果有一个不满足条件就返回为false,全部满足时返回true。
例: var arr=[1,4,6,2,7,9,0];
var bool=arr.every(function(item,index,arr){
return item>2;
});
console.log(bool);//false
16、filter();方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。
语法:var arr1=arr.filter(function(item,index,arr){
返回 条件
});
筛选数组中满足条件的结果
例: 要求是将数组中大于5的返回到一个新数组。
var arr=[1,2,5,7,8,2,4,9,10];
var arr1=arr.filter(function(item,index,arr){
return item>5;
});
console.log(arr1);
结果:arr1=[5,7,8,9,10];
17、reduce();方法对累计器和数组中的每个元素(从左到右)应用一个函数,将其简化为单个值。
语法:数组.reduce(回调函数(累积值,元素,下标,数组){},初始值);
注释:
(1).从数组的第1位开始遍历,第0位没有遍历,下标从1开始。
刚开始初始值value是数组的第0项,后面每次value都是undefined。
(2).如果在函数中使用return 就会将返回值在下次数组的遍历中赋予value。
(3).如果reduce没有设置初始值,累计值是数组的第0位元素,遍历从下标1开始。
(4).如果reduce设置了初始值,累积值就是从这个初始值开始,遍历从下标0开始。
例:希望求累积相加数组元素求和,在基数100的前提下,100就是初始值。
var sum=arr.reduce(function(value,item){
return value+item;
},100);
函数后面的参数100就是累加的初始值。
18、Array.isArray();判断元素是否是数组,如果是数组返回true,否则返回false。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
多维数组是NumPy中的一种数据结构,它可以存储具有多个维度的数据。在NumPy中,可以使用不同的方法来创建多维数组。 一种创建多维数组的方法是使用Python的列表或元组。例如,可以使用array函数来创建一个一维数组,如v = array(\[1,2,3,4\])。可以使用array函数创建一个二维数组,如M = array(\[\[1, 2\], \[3, 4\]\])。\[1\] 另一种创建多维数组的方法是使用NumPy提供的函数。例如,可以使用arange函数创建一个一维数组,如np.array(\[i for i in np.arange(1, 10, 2)\])。可以使用ones函数创建一个全为1的一维数组,如np.ones(5)。可以使用zeros函数创建一个全为0的二维数组,如np.zeros((2, 3))。可以使用random函数创建一个随机数填充的二维数组,如np.random.random((2, 3))。可以使用linspace函数创建一个等间隔的一维数组,如np.linspace(0, 2*np.pi, 5)。\[3\] 这些方法可以根据需要创建任意维度的多维数组。多维数组在科学计算和数据分析中非常常见,可以方便地进行矩阵运算和数据处理。 #### 引用[.reference_title] - *1* [Numpy - 多维数据数组](https://blog.csdn.net/weixin_42199542/article/details/106819424)[target="_blank"] [.reference_item] - *2* [Numpy - 多维数据数组](https://blog.csdn.net/weixin_42199542/article/details/106819424)[target="_blank"] [.reference_item] - *3* [Numpy 多维数组简介](https://blog.csdn.net/weixin_30556959/article/details/96998739)[target="_blank"] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值