JavaScript数组的操作

 创建一个空的数组

var arr = new Array();

创建长度为5的空的数组,只有一个元素时,会把这个元素当成数组的长度,从而创建一个长度为该元素的值的数组。

 如果只有一个元素,而该元素又不是整型的数字时,会出现错误"Uncaught SyntaxError: Unexpected token ILLEGAL"

var arr = new Array(5);

如果有多个参数,则会把这些参数当成数组的元素。

var arr = new Array(5,6,7);

 var numArray = [1,2,3,4,5,6,7];
console.log(numArray);
onsole.log(typeof numArray);
//1、在末尾添加元素,push既可以添加一个元素,也可以用来添加多个元素
numArray.push(8);
 console.log(numArray);
numArray.push(8,9,10);
console.log(numArray);

 //2、在数组的前面添加元素
unshift()既可以用来在数组前面添加一个元素,也可以用来添加多个元素。
numArray.unshift(8);
console.log(numArray);
numArray.unshift(9,10);
console.log(numArray);

 //3、在数组的指定位置插入数据
 splice(para1,para2,para3)
//para1:指定的位置  para2:表示从para1指定的位置往后删除多少个元素(包括para1指定的位置),
//para3:可以是多个数,表示需要在para1指定的位置中插入的数。
//如果只给para1和para2两个参数,则表示删除从指定位置开始的往后para2个元素。
//如果只给para1,即只传递一个参数,则表示删除para1开始往后的所有元素。
numArray.splice(3,2);
console.log(numArray);

 //修改  数组名[角标]=新的值
//修改的时候需要注意的时,如果 角标的范围超出了数组的长度的话,不会报异常,而是会在相
//应的位置插入元素,并且把数组的长度改变。
numArray[3]=55;
console.log(numArray);
//如在执行前的输出为
console.log(numArray);
console.log(numArray.length);
//在执行超出数组的长度的角标进行插入数据后的输出;
numArray[10]=30;
console.log(numArray);
console.log(numArray.length);

 //数组的截取
//slice(para1,para2):para1表示截取的起始位置,para2表示截取的结束位置(不包含)
//返回一个结果,结果类型为数组对象。
res = numArray.slice(1,5);
console.log(res);
console.log(typeof res);

 //删
//1、从数组的末尾删除一个元素,pop(),并且会返回被删除的值
data = numArray.pop();
console.log(numArray);
console.log(data);
//2、从数组的前面删除一个元素,shift(),并且返回被删除的值
data = numArray.shift();
console.log(numArray);
console.log(data);
console.log(typeof data);
//3、从指定的位置删除元素 splice();
//返回的是一个被删除的元素的数组。
data = numArray.splice(5,1);
console.log(data);
console.log(typeof data)


 //数组的排序
function compare(value1,value2){
if(value1<value2){
return -1;
}
else{
return 1;
}
}
var numArray2 = [3,2,6,4,9,1,3,8,9,12,33];
//sort()默认是按照数字的字符编码进行排序,即每一次比较是把每一个数字的字符编码进行比较
//例如: 9跟12相比较,是拿1和9比较,1的字符编码比9小,所以当从小到大排序时,12是比9小的
numArray2.sort();
//如果想要进行正常的升序,则需要定义一个函数,例如上面的compare函数。然后进行如下的调用
//有点类似于高阶函数。
numArray2.sort(compare);
console.log(numArray2);
//如果需要从大到小,可以执行如下语句
numArray2.sort(compare).reverse();
console.log(numArray2);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值