js-Array(方法)、arguments(伪数组)、高级迭代、清空数组

本文详细介绍了JavaScript中数组的各种操作方法,包括数组的创建、赋值、遍历、修改及删除等基本操作,同时还讲解了数组的连接、排序、转换等高级功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数组

赋值(初始化)

 ☞Array对象赋值方式(常用)

var mycars=new Array("Saab","Volvo","BMW");
console.log(mycars);

var mycars=new Array();
mycars[0]="Saab";
mycars[1]="Volvo";
mycars[2]="BMW";
console.log(mycars);

//也可以使用一个整数自变量来控制数组的容量:
    var mycars=new Array(3);
    mycars[0]="Saab";
    mycars[1]="Volvo";
    mycars[2]="BMW";
    console.log(mycars);

☞数组直接赋值(最常用)

var mycars = ["Saab","Volvo","BMW"];
console.log(mycars);

  ☞数组中通过下标的方式进行赋值。下标从0开始。

获取数组中的某个元素

    数组名[索引值];

修改数组

    数组名[索引值] = "赋值";

删除数组

slice() //从当前数组中截取一个新的数组,不影响原来的数组,参数start从0开始,end从1开始

新数组 = 数组1.slice(索引1,索引2);

splice()//删除或替换当前数组的某些项目,参数start,deleteCount,options(要替换的项目) 返回替换的元素

新数组 = 数组1.splice(起始索引,删除数量,替换内容);

查-->遍历

数组遍历(数据的元素个数  length属性)

数组名.length获取数组长度(元素个数)

For/In 循环

JavaScript for/in 语句循环遍历对象的属性

for( 索引名    in    数组名){

    循环语句

}

var mycars = ["Saab","Volvo","BMW"];
for(index in mycars){
    console.log(index);
    console.log(mycars[index]);
}

数组方法

concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。

数组转字符串:

join() 方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。

var a, b;
a = new Array(0,1,2,3,4);
b = a.join("-");      //"0-1-2-3-4"

toString() 方法可把数组转换为字符串,并返回结果。

字符串转数组split()

实现方法为将字符串按某个字符切割成若干个字符串,并以数组形式返回,示例代码如下:

var s = "abc,abcd,aaa";
ss = s.split(",");// 在每个逗号(,)处进行分解  ["abc", "abcd", "aaa"]
var s1 = "helloworld";
ss1 = s1.split('');  //m默认的逗号分隔  ["h", "e", "l", "l", "o", "w", "o", "r", "l", "d"]

push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度,会改变原数组。

reverse() 方法用于颠倒数组中元素的顺序。

sort() 方法用于对数组的元素进行排序。

slice() 方法可从已有的数组中返回选定的元素。

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。注释:该方法会改变原始数组。

补充:

判断数组

Instanceof:  是一个关键字。     判断A是否是B类型。

布尔类型值 = A Instanceof B ;

Array.isArray() //HTML5中新增    判断是不是数组

布尔类型值 = Array.isArray(变量) ;

pop()   //删除数组中的最后一项,返回最后一项,会改变原数组

被删除的元素 =  数组1.pop();

unshift()  //在数组最前面插入项,返回数组的长度,会改变原数组

数组1改后的长度  =  数组1.unshift(元素1);

shift()        //删除数组中的第一个元素,返回最后一项,会改变原数组

被删除的元素 =  数组1.shift();

sort();   //给数组排序,返回排序后的数组。如何排序看参数。

从小到大排序后的数组 =  数组1.sort(function(a,b){
    return a-b;
});

无参:按照数组元素的首字符对应的Unicode编码值从小到大排列数组元素。

带参:必须为函数(回调函数--callback)。函数中带有两个参数,代表数组中的  前后元素。如果计算后(a-b),返回值为负数,a排b前面。等于0不动。返回值为正数,a排b后面。

indexOf()、lastIndexOf()   //如果没找到返回-1(给元素查索引)

索引值 = 数组.indexOf/lastIndexOf(数组中的元素);

高级

迭代方法 不会修改原数组

every()、filter()、forEach()、map()、some()

数组/boolean/无 = 数组.every/filter/forEach/map/some(function(element,index,arr){
    程序和返回值;                             
   }
);

//对数组中每一项运行以下函数,如果都返回true,every返回true,如果有一项返回false,则停止遍历 every返回false;不写默认返回false
var arr = array.every(function(item,index,arr){

})

//对数组中每一项运行以下函数,该函数返回结果是true的项组成的新数组
var arr = array.filter(function(item,index,arr) {
    return item > 0;
});
console.log(arr); 

//遍历数组
var arr = array.forEach(function(item,index,arr){

});

//对数组中每一项运行以下函数,返回该函数的结果组成的新数组
var arr = array.map(function(item,index,arr) {
    return "\"" + item +"\"";
})

//对数组中每一项运行以下函数,如果该函数对某一项返回true,则some返回true
var b =  array.some(function(item,index,arr){
    if (item == "ww") {
        return true;
    }
    return false;

});

清空数组

var array = [1,2,3,4,5,6];

array.splice(0,array.length); //删除数组中所有项目

array.length = 0; //length属性可以赋值,其它语言中length是只读

array = [];  //推荐

伪数组(储存传递给函数参数的内部数组):

arguments[]数组只在函数体内定义。在函数体内,arguments引用该函数的 Arguments对象。该对象有带编号的属性,并作为一个存放传递给函数的所有参数的数组。标识符arguments本质上是一个局部变量,在每个函数中都会被自动声明并初始化。它只在函数体中才能引用Arguments对象,在全局代码中没有定义。

 

属性arguments.callee引用当前正在运行的函数

若有不足请多多指教!希望给您带来帮助!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值