Javascript中Array的使用

JavaScript中的Array对象就是数组,首先是一个动态数组,而且是一个像C#、Java中“数组、List、HashMap/Dictionary”等的超强综合体。

Array数组

使用方式:
例1:

var citys = new Array();//创建数组对象,无需初始化长度,动态
        citys[0] = ‘上海‘;
        citys[1] =‘北京‘;
        citys[2] = ‘深圳‘;

for(var i=0; i< citys.length; i++){
            alert(citys[i]);
        }

例2(推荐):

var arr=[10,true,‘哇咔咔‘];
        for(var i=0;i<arr.length;i++){
            alert(arr[i]);
        }

forin遍历Array数组

var arr=[‘哈尼族‘,‘壮族‘,‘满族‘,‘漂族‘];
        for(var item in arr){
            alert(item+‘====‘+arr[item]);
        }


Array键值对

使用方式

例如:

var arr=new Array();
        arr["name"]=‘Jack‘;
        arr["age"]=28;
        arr["gender"]=‘fale‘;
        arr["height"]=180;
        for(var item in arr){
            alert(item+‘====‘+arr[item]);
        }

遍历Array键值对

forin循环

var arr={name:‘James‘,age:28};
        for(var item in arr){
            alert(item+‘===‘+arr[item]);
        }

通过对象.键

var arr={name:‘James‘,age:28};
        alert(arr.name);
        alert(arr.age);

方法传值

function f1(s){
            alert(s.name);
            alert(s.age);
        }
        f1({name:‘Rose‘,age:20});

特殊的家伙

例1:

var arr=[{name:‘James‘,age:19},{name:‘Rose‘,age:18},{name:‘Max‘,age:20}];
        for(var i=0;i<arr.length;i++){
            alert(arr[i].name+‘===‘+arr[i].age);
        }

例2:

var code={name:‘Max‘,children:[{name:‘jack‘,age:20},{name:‘rose‘,age:18}]};
        alert(code.name);
        for(var i=0;i<code.children.length;i++){
            alert(code.children[i].name+‘>>‘+code.children[i].age);
        }

//当然forin也可以,但麻烦

for(var item in code.children){
            alert(item+‘>>‘+code.children[item].name+‘===‘+code.children[item].age);
        }

Array比较

自定义一个通用的比较方法

function max(arr,compare){
            var m=arr[0];
            for(var i=1;i<arr.length;i++){
                if(compare(arr[i],m)){
                    m=arr[i];
                }
            }
            return m;
        }

var s1=max([12,32,33,100,8],function(n1,n2){
            return n1>n2;
        });
        alert(s1);

var s2=max(["aa","bbbb","ccc"],function(n1,n2){
            return n1.length>n2.length;
        });

alert(s2);

Javascript中的比较方法sort()

例1:

var arr=[23,12,56,200,45];
        arr.sort(function(n1,n2){
            return n1>n2;
        });
        alert(arr);

var arrStr=["aa","bbb","cccc"];
        arrStr.sort(function(n1,n2){
            return n1.length>n2.length;
        });
        alert(arrStr);

例2:

var arr=[{name:‘Bob‘,age:100},{name:‘Tom‘,age:23},{name:‘Rose‘,age:78}];
        arr.sort(function(n1,n2){
            return n1.age>n2.age;
        });
        for(var i=0;i<arr.length;i++){
            alert(arr[i].name);//Tom,Rose,Bob
        }

时间: 2024-12-27 12:41:35

Javascript中Array的使用的相关文章

Javascript 中 Array的 sort()和 compare()方法

Javascript 中 Array的 sort()方法其实是把要排序的内容转化为string(调用 toString()), 然后按照字符串的第一位 ascii 码先后顺序进行比较,不是数字. 我们看看官方是怎么说的: arrayobj.sort(sortfunction) 参数 arrayObj 必选项.任意 Array 对象. sortFunction 可选项.是用来确定元素顺序的函数的名称.如果这个参数被省略,那么元素将按照 ASCII 字符顺序进行升序排列. 说明 sort 方法将 A

JavaScript 中Array数组的几个内置函数

本文章内容均参考<JavaScript高级程序设计第三版> 今天在看JavaScript书籍的时候,看到之前没有了解过的JavaScript中Array的几个内置函数对象,为了之后再开发工作中能方便查询,故编写此随笔.直接贴代码, function arrayEffect(){ var numbers = [1,2,3,4,5,6,7,8,9,10]; //------------------------------------ 支持浏览器版本 IE9+,Firfox 2+ ,Safair 3

Javascript中Array.prototype.map()详解

map 方法会给原数组中的每个元素都按顺序调用一次 callback 函数.callback 每次执行后的返回值组合起来形成一个新数组. callback 函数只会在有值的索引上被调用:那些从来没被赋过值或者使用 delete 删除的索引则不会被调用. 在我们日常开发中,操作和转换数组是一件很常见的操作,下面我们来看一个实例: 复制代码代码如下: var desColors = [],    srcColors = [        {r: 255, g: 255, b: 255 }, // W

javascript中 Array.prototype.slice的用法.

首先看到 www.w3school.cn上的解释:http://www.w3school.com.cn/jsref/jsref_slice_array.asp 定义和用法 slice() 方法可从已有的数组中返回选定的元素. 语法 arrayObject.slice(start,end) 参数 描述 start 必需.规定从何处开始选取.如果是负数,那么它规定从数组尾部开始算起的位置.也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推. end 可选.规定从何处结束选取.该参数是数

javascript 中Array一些高效的操作方法

Array.from() 方法从一个类似数组或可迭代对象中创建一个新的数组实例. console.log(Array.from('foo')); // expected output: Array ["f", "o", "o"] console.log(Array.from([1, 2, 3], x => x + x)); // expected output: Array [2, 4, 6] Array.isArray() 用于确定传递的

JavaScript 中 Array.prototype.slice.call(arr, 2) 这样的写法用意是什么?

看了很多 JavaScript 的源代码,发现很多类似这样的写法 Array.prototype.slice.call(arr, 2) 比较不解的是,既然 arr 是数组,为什么不直接这样写呢 arr.slice(2) 为什么实例对象本身已经有这个方法,为什么不直接调用,而采用这样的写法?有什么特殊用意吗 主要原因是为了防止有些对象没有slice方法. 举个例子: 在javascript里有一种array-like的对象,就是和Array很像,比如拥有push,slice等方法,拥有length

JavaScript中Array类型方法总结

Array类型是ECMAScript中最常用的类型之一,ECMAScript中的数组与其他多数语言中的数组有着相当大的区别.ECMAScript数组的每一项可以保存任何类型的数据.这里总结了数组类型的大多数方法,方便以后查找使用. 一.创建数组的基本方式 创建数据的基本方式有两种: 1.使用Array构造函数 var colors=new Array();var colors=new Array(20); //创建length值为20的数组var colors=new Array("red&qu

JavaScript中Array数组的方法

查找: indexOf.lastIndexOf 迭代:every.filter.forEach.map.somereduce.reduceRight 用法: 1 /* 2 1 查找方法: 3 * arr.indexOf( value ) 4 * 一个参数 返回value所在数组的位置下标 5 * 找不到的时候返回-1 6 * 7 * arr.indexOf( start , value ) 8 * 从start开始查找value 返回下标 9 * 找不到的时候返回-1 10 * 11 * arr

javascript中Array类型常用方法

方法总览: instanceOf Array.isArray() toString() join() push() pop() shift() unshift() splice() concat() slice() indexOf lastIndexOf reverse() sort() forEach() filter() map() every() some() reduce() reduceRight() 一.检测方法 instanceof Array.isArray()   (ES5 新