关于JS数组对象

本文介绍JavaScript数组的基本概念、创建方式及常用API,包括排序、拼接等操作,并提供实例演示如何实现十进制转二进制。

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

数组对象是JS中的内置对象

数组是引用类型的对象

特点:可以保存多个数据,而且数据个数随时可变

创建:

var arr1=[];//定义一个不包含元素的数组
var arr2=[29,22];//定义一个连续存储两个元素的数组
var arr3=new Array(num);//创建一个数组对象含num个元素

数组对象直接输出是,内容之间默认用,隔开

var arr=new Array(3);//每个元素都是undefined,输出时都是空字符,用逗号隔开


Array API

①arr.length

返回数组长度,随数组长度变化而自动变化,可以扩容缩容

//冒泡排序 升序
var arr=[2,13,4,7,29,1];
for(var n=1;n<arr.length;n++){ 
for(var i=0;i<arr.length-n;i++){ 
if(arr[i]>arr[i+1]){ 
var min=arr[i+1];
arr[i+1]=arr[i];
arr[i]=min;
}
}
}
document.write(arr);

②arr.toString

任何对象都有toString方法,转为字符串,实际只要+“”空字符串,就可以转换

③arr.valueOf

同arr.toString

④var str=arr.join("分隔符")
将数组转为字符串,可自定义分隔符

⑤var newArr=arr.concat(元素值,[数组],……)

用于数组拼接,不会改变原数组,返回新数组对象

⑥var newArr=arr.slice(start,end+1)

数组截取,截取数组下标从start开始,到end结束

⑦arr.splice
数组的删除
var a=[1,2,3,4];
var str=a.splice(0,2);
document.write(str);//返回被删除元素
数组的替换
var str=a.splice(1,2,22,33,44);
document.write(str);//返回被删除(替换)元素
document.write(a);//但删除的值得个数和替换的值得个数不同时,会自动调整数组容量

数组的插入

var str=a.splice(1,0,22,33,44);
document.write(a);//插入元素时,被删除的地方填0

⑧var str=a.reverse();

颠倒所有数组元素

⑨arr.sort();
//默认升序排序,字符串PK
//自定义排序时:第一步定义比较器,第二步将比较器传递给sort方法
var arr=[2,34,1,22,4];
var compare=new Function("a","b","return a-b;");
arr.sort(compare);
document.write(arr);

⑩arr.push 入栈(从结尾) 返回新数组长度

⑾arr.pop 出栈(从结尾) 返回数组的最后一个元素

⑿arr.unshfit 入栈(从开头) 

⒀arr.shfit 出栈(从开头)

//将一个十进制数转为二进制
var a=parseInt(prompt("请输入一个十进制数:"));
var b=[];
while(a!=0){ 
b.push(a%2);
a=parseInt(a/2);
}
b.reverse();
document.write(b.join(""));

二维数组

//二维数组的创建

var arr1=[[23],[23,44],[34,22,44]];

var arr2=new Array();
arr2[0]=23;
arr2[1]=23,44;
arr2[2]=34,22,44;

//遍历二维数组
for(var i=0;i<a.length;i++){ 
for(var j=0;j<a[i].length;j++){ 
console.log(a[i][j]);
}
}

//关联数组

var cities={'北京市':['朝阳区','海淀区'],'天津市':['和平区']};
for(var i in cities){ 
document.write(i+":"+cities[i]+"<br>");
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值