注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

星期五

明天不上班

 
 
 

日志

 
 
关于我

一个特立独行的Java程序员,比较宅,上上网,写博客,听音乐,看电影。

网易考拉推荐

JavaScript Array技巧  

2014-05-27 20:59:59|  分类: Javascript |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
JavaScript数组,其实之前没有好好研究过,只是在使用时了解它的方法:
今天,总结一些关于数组的技巧:
数组四个方法: unshift, shift, push 和 pop
这个四个方法,可以让你实现队列和堆栈
队列:先入先出 -> push, unshift
堆栈:先入后出 -> push, pop

var arr = [1,2,3,4];
arr.unshift(10); //返回length
console.log(arr); //10,1,2,3,4
arr.shift(); //返回第一个元素10
console.log(arr);//1,2,3,4
arr.push(10);//返回length
console.log(arr);//1,2,3,4,10
arr.pop();//返回最后一个元素10
console.log(arr);//1,2,3,4

实现数组循环:
arr.unshift(arr.pop()); 顺序循环移动
arr.push(arr.shift()); 逆序循环移动

使用splice实现 删除,替换和修改

//splice 删除 替换 和 添加, 返回删除
arr1 = [1, 'a', 'c'];
//删除
arr1.splice(1,1); //delete a;
console.log(arr1);//1, 'c'
//替换 c
arr1.splice(1,1, 'bbb'); //replace 'c', return 'c'
console.log(arr1); //1, 'bbb'
//增加
arr1.splice(1,0, 'cccc');
console.log(arr1);//1, 'bbb', 'cccc'

数组排序

//sort默然是字符串排序,不管内容是数字还是字符串
var arr1 = [1, 23, 11, 2];
//console.log(arr1.sort()); //1, 11, 2, 23

arr1.sort(function(i,j){
return j-i;
});
console.log(arr1);

var arr2 = ['12px', '23px', '8px', '16px'];
arr2.sort(function (a, b) {
return parseInt(b) - parseInt(a);
});
console.log(arr2);

//对字符串排序
var str = "abbbcdddaaax";
console.log(str.split("").sort().join(""));

使用随机数函数将数组顺序打乱

//打乱数组
var arr3 = [1,2,3,4,5,6];
arr3.sort(function () {
return Math.random() - 0.5;
});
console.log(arr3);

//求随机数 (10到15之间)
console.log(Math.round(Math.random()*(15-10)) + 10);

反转数组和连接数组

//reverse 反转
var arr = [1,2,3,4,5];
arr.reverse();
//反转字符串
var str = 'abcdefg';
var rstr = str.split("").reverse().join("");
console.log(str);

//concat 连接数组

arr.concat([7,8,9]);


  评论这张
 
阅读(201)| 评论(0)
推荐

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017