记录下学习数组的过程

  1、创建数组

 var ary1 = new Array();//空数组
var ary2= [] ;//字面量

  2、数组检测

//方法一
if(array instanceof Array){ } //方法二 ES5
if(Array.isArray(array)){ }
//方法三
Object.prototype.toString.apply(arrary,arguments);

  3、数组转换方法

//1、toString();
var ary =['aaaa','vvvvv'];
ary.toString();//"aaaa,vvvvv" //2、valueOf();
var ary =['green','blue','red'];
ary.valueOf();//["green", "blue", "red"]
//3、toLocaleString();
ary.toLocaleString();//"green,blue,red"
//4、join();
ary.join('@@@&&&&&*****')
//"green@@@&&&&&*****blue@@@&&&&&*****red"

  4、找方法

  ‘后进先出’的表现

ary =['aa','bbb','cccc','dddd'];
//["aa", "bbb", "cccc", "dddd"]
ary.pop();
//"dddd"
ary.push('dddd');
//
ary
//["aa", "bbb", "cccc", "dddd"]

  5、队列方法

  ‘先进先出’的表现

var ary = ["aa", "bbb", "cccc", "dddd"];
ary.shift();//"aa"
ary.unshift('aaaaaaaaaaaa');//
console.log(ary);//["aaaaaaaaaaaa", "bbb", "cccc", "dddd"]

  6、循环数组(滚动选择)

1、从后到前
var ary =[10,20,30,40,50,60,70,80,90];
//从后到前
//ary.unshift(ary.pop());
for(var i = 0 ,len =ary.length; i<len;i++){
console.log(ary);
ary.unshift(ary.pop());
console.log(ary);
}

2、从前到后

for(var i = 0 ,len =ary.length; i<len;i++){
console.log(ary);
ary.push(ary.shift());
console.log(ary);
}

  7、数组排序

var ary =[90,100,90,33300,10,20,30,40,50,60,70,80,90];

ary.sort(function(val1,val2){
return val1-val2;
});
//[10, 20, 30, 40, 50, 60, 70, 80, 90, 90, 90, 100, 33300]
ary.sort(function(val1,val2){
return val2-val1;
});
//[33300, 100, 90, 90, 90, 80, 70, 60, 50, 40, 30, 20, 10]

  8、数组方法

1、concat();

ary.concat('aaa',['ddd','ccc','eeee']);
//[33300, 100, 90, 90, 90, 80, 70, 60, 50, 40, 30, 20, 10, "aaa", "ddd", "ccc", "eeee"]

2、slice();

var ary1 = [33300, 100, 90, 90, 90, 80, 70, 60, 50, 40, 30, 20, 10, "aaa", "ddd", "ccc", "eeee"];
ary1.slice(0,5);//[33300, 100, 90, 90, 90]
console.log(ary1);//[33300, 100, 90, 90, 90, 80, 70, 60, 50, 40, 30, 20, 10, "aaa", "ddd", "ccc", "eeee"]
ary1.slice(1,3);//[100, 90]

3、splice();最强大的方法

var ary2 = ['a','b','c','d','e','aa','bb','cc']
ary2
//["a", "b", "c", "d", "e", "aa", "bb", "cc"]
ary2.splice(0,0);
//[]
ary2
//["a", "b", "c", "d", "e", "aa", "bb", "cc"]
ary2.splice(1,3);
//["b", "c", "d"]
ary2
//["a", "e", "aa", "bb", "cc"]
ary2.splice(0,0,'a','aaaa');
//[]
ary2
//["a", "aaaa", "a", "e", "aa", "bb", "cc"]

   9、位置方法(ES5)

ary1 = ['222','ffff','sfff','a']
//["222", "ffff", "sfff", "a"]
ary1.indexOf('a');
//
ary1.indexOf('aaaaa');
//-1

  10、ES5中数组方法(迭代方法)

1.every();数组所有值返回true 返回true

2.some();数组其中有返回true 返回true

3.forEach();数组每一项运行函数,没有返回值

4.map();数组每一项运行函数,返回数组

5.filter();数组每一项运行函数,返回 ture数组

var ary1 = [10,20,5,44,444];
ary1.some(function(value,index){
return value>100;
});//ture ary1.every(function(value){
return value<0;
});//false ary1.map(function(value,index){
return value+index;
});//[10, 21, 7, 47, 448] ary1.filter(function(value,index){
return value>40;
});//[44, 444]
ary1.forEach(function(value,index){
ary1[index]=value*2;
});
console.log(ary1);//[20, 40, 10, 88, 888]

Javascript数组学习的更多相关文章

  1. javascript 数组学习(一)

    今天学习了一下<javascript权威指南(第6版)>的第七章:数组 一.数组的创建: 数组的创建有3种方法: var colors = new Array(3);//可以省略new v ...

  2. 【学习笔记03】Javascript数组学习

    数组定义的方法一: var Myarr=new Array(); //先声明一维 for(var i=0;i<2;i++){ //一维长度2 Myarr[i]=new Array(); //再声 ...

  3. JavaScript数组学习总结

    数组   数组 1.数组:数组是一组数据(数据类型不限,任意)的有序集合===>我们写代码,一般一个数组只放一种数据类型的数据 2.我们写代码,一般一个数组只放一种类型的数据 3.注意: 大多数 ...

  4. javascript数组学习1

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  5. JavaScript 数组学习总结

    类数组转数组 ES5解决方案 let arr = Array.prototype.slice.call(arrlike) ES6解决方案 let arr = Array.from(arrlike) / ...

  6. JavaScript数组(二)实例

    一.Js 数组示例常用操作. $(function () { Javascript数组学习 var nums = new Array([10], [5],[ 8], [2], [3]); 数组反转 n ...

  7. RX学习笔记:JavaScript数组操作

    RX学习笔记:JavaScript数组操作 2016-07-03 增删元素 unshift() 在数组开关添加元素 array.unshift("value"); array.un ...

  8. [前端JS学习笔记]JavaScript 数组

    一.JavaScript数组的奇葩 大多数语言会要求数组的元素是同个类型, 但是JavaScript允许数组元素为多种类型. var arr = ["羽毛球", 666, {&qu ...

  9. JavaScript基础学习(三)—数组

    一.数组简介     JavaScript数组的每一项都可以保存任何类型的数据,也就是说数组的第一个位置保存字符串,第二个位置可以保存数值,第三个位置可以保存对象,而且数组的大小是可以动态调整的,即可 ...

随机推荐

  1. phpstudy配置伪静态的方法

    mod_rewrite是Apache的一个非常强大的功能,它可以实现伪静态页面.下面我详细说说它的使用方法1.检测Apache是否支持mod_rewrite通过php提供的phpinfo()函数查看环 ...

  2. [EF1]POCOs(Plain Old C# Object)Entity Framework 4.x: POCOs入门

    原文链接:http://www.cnblogs.com/hjzhang/archive/2011/05/18/2050530.html POCOs 是在Visual Studio 2010和ASP.N ...

  3. 【WPF】新复制wpf项目报错

    错误提示:Program does not contain a static 'Main' method suitable for an entry point 1.App.xaml 文件属性:生成操 ...

  4. iOS学习-UITextField设置placeholder的颜色

    UITextField *text = [[UITextField alloc] initWithFrame:CGRectMake(, , , )]; text.borderStyle = UITex ...

  5. 高通vuforia+Unity3D 制作ar app

    很简单就可以用Unity3D做出增强现实的一个小例子 新人第一次写博客,若出现错误望指正^_^ 需要下载de东西: unity3d 5.0 http://unity3d.com/get-unity   ...

  6. bzoj 1061 志愿者招募 有上下界费用流做法

    把每一天看作一个点,每一天的志愿者数目就是流量限制,从i到i+1连边,上下界就是(A[i],+inf). 对于每一类志愿者,从T[i]+1到S[i]连边,费用为招募一个志愿者的费用,流量为inf.这样 ...

  7. django文件上传和序列化

    django实现文件上传 使用form表单上传文件 html页面 <html lang="en"> <head> <meta charset=&quo ...

  8. 数据结构作业——buzhidao(队列)

    buzhidao Description 有一个长度为 n 的序列,第 i 个数的大小为 a[i].现在从第 1 个数开始从左往右进行以下操作:1. 如果当前数是剩下的数中最大的,则输出并删去这个数. ...

  9. Linux--Tail命令

    inux tail命令用途是依照要求将指定的文件的最后部分输出到标准设备,通常是终端,通俗讲来,就是把某个档案文件的最后几行显示到终端上,假设该档案有更新,tail会自己主动刷新,确保你看到最新的档案 ...

  10. 遍历hashMap的两种方式

    第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Ma ...