`
chengyu2099
  • 浏览: 468975 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

JS Array 介绍

阅读更多

数组有四种定义的方式
使用构造函数:
var a = new Array();
var b = new Array(8);
var c = new Array("first", "second", "third");
或者数组直接量:
var d = ["first", "second", "third"];

属性

Array只有一个属性,就是length,length表示的是数组所占内存空间的数目,而不仅仅是数组中元
素的个数,在刚才定义的数组中,b.length的值为8

<script>
var a = new Array("first", "second", "third")
a[48] = "12"
document.write(a.length)
//显示的结果是49
</script>
数组的length属性是可写的,这是一个非常有意思的属性,我们可以通过这种方法来截取数组

<script>
var a = new Array("first", "second", "third")
delete a[1]
document.write(a.length)
//显示的结果是3,说明即使删除也无法改变数组的长度
var a = new Array("first", "second", "third")
a.length = 1
document.write(a.length)
//显示的结果是1,说明只剩下一个元素了
</script>
方法
/*
这里并没有包括IE和FF并不兼容的一些方法:
      toString():把数组转换成一个字符串
toLocaleString():把数组转换成一个字符串
join():把数组转换成一个用符号连接的字符串
shift():将数组头部的一个元素移出
unshift():在数组的头部插入一个元素
pop():从数组尾部删除一个元素
push():把一个元素添加到数组的尾部
concat():给数组添加元素
slice():返回数组的部分
reverse():将数组反向排序
sort():对数组进行排序操作
splice():插入、删除或者替换一个数组元素 splice(0)==清空数组

toString() 方法,toLocaleString()方法的作用类似,FF下的作用是完全相同的,IE的话如果元素
是字符串,会在“,”后面加上一个空格,如果元素是数字,会扩展到两位小数,两者都会改变字符串
的length属性,所以考虑到兼容性,尽量不要使用toLocaleString()方法。
*/
<script>
var a = new Array(1, 2, 3, [4, 5, [6, 7]])
var b = a.toString() //b为字符串形式的 "1, 2, 3, 4, 5, 6, 7"
var c = new Array(1, 2, 3, [4, 5, [6, 7]])
var d = c.toLocaleString() //d为字符串形式的 "1, 2, 3, 4, 5, 6, 7"
//toString()方法和toLocaleString()方法都可以拆解多维数组
</script>
join()方法将数组中的所有元素转换成字符串,然后连接起来,这刚好和String的split()方法是一
个相反的操作。join()默认是使用“,”作为分隔符,当然你也可以在方法中指定分隔符

<script>
var a = new Array("first", "second", "third")
var s = a.join("...")
document.write(s)
//显示的结果是“first...second...third”
</script>
pop()方法可以从数组尾部删除若干个元素,push()方法把一个元素添加到数组的尾部,这两个方法
刚好是两个相反的操作。两个都是对原来的数组进行操作,但是要注意push()方法返回的是新的数
组的长度,而pop()方法则返回被删去的那个元素。

<script>
var a = new Array(1, 2, 3)
var b = a.push(4,5,[6,7]) //a为[1, 2, 3, 4, 5, [6, 7]] b为6 注意push()方法不会帮你打开
一个数组
var c = new Array(1, 2, 3, 4, "first")
var d = c.pop() //c为[1, 2, 3, 4] d为字符串形式的"first"
</script>
shift() 方法可以从数组头部删除一个元素,unshift()方法把若干元素添加到数组的头部,这两个
方法刚好是两个相反的操作。两个都是对原来的数组进行操作,但是要注意unshift()方法返回的是
新的数组的长度,而shift()方法则返回被删去的那个元素。

<script>
var a = new Array(1, 2, 3)
var b = a.unshift(4,5,[6,7]) //a为[4, 5, [6, 7], 1, 2, 3] b为6 注意unshift()方法不会帮
你打开一个数组,还有就是被插入数值的顺序
var c = new Array("first", 1, 2, 3, 4)
var d = c.shift() //c为[1, 2, 3, 4] d为字符串形式的"first"
</script>
concat()方法可以返回一个在原有数组上增添了元素的数组,元素用“,”分隔,元素中如果有数组,
将被展开并继续添加,但不支持多维数组形式的展开添加

<script>
var a = new Array("first", "second", "third")
s = a.concat("fourth",["fifth", "sixth"],["seventh", ["eighth", "ninth"]])
document.write(s[7])
// 显示的结果是“eighth, ninth”,说明“eighth, ninth”是以数组的形式被添加了进去,此是s的
值为["first", "second", "third", "fourth", "fifth", "sixth", "seventh", ["eighth",
"ninth"]]
</script>
slice()方法返回数组的一个片断,或者说是子数组。slice()的参数表示字数组的始末位置,如果
只有一个参数,就表示从该处开始一直取到最后,如果参数出现负数,则表示倒数的某个位置。

<script>
var a = new Array(1, 2, 3, 4, 5)
var b = a.slice(3) //b为[4, 5]
var c = a.slice(-3) //c为[3, 4, 5]
var d = a.slice(1,-1) //d为[2, 3, 4]
var e = a.slice(-3,-1) //e为[3, 4]
</script>
reverse()方法将数组反向排序,他并不创建和返回一个新的数组,而是在原有的数组上进行操作

<script>
var a = new Array("first", "second", "third")
a.reverse()
document.write(a)
//显示的结果是“third,second,first”,这时候数组的顺序已经颠倒了
</script>
sort()方法的作用是对数组进行排序,这是一个非常奇特的方法,我不知道当初创作他的人是出于
懒惰还是聪明,这是一个让我印象深刻的方法。
sort()方法的参数是一个有两个参数,并且有返回值的函数,如果返回的值大于零,则说明前一个
参数比后一个参数大,等于零则相等,小于零说明前一个参数比后一个小,而相对小的那个参数将
出现在排序的前列。
sort()方法直接在数组上进行操作,同时也返回值,但是两者似乎是等价的。sort()方法默认是用
字母的顺序进行排序

<script>
var a = new Array(33, 4, 111, 543)
a.sort(way)
function way(x, y){
    if (x % 2 ==0)
        return 1;
    if (x % 2 !=0)
        return -1;
}
//排序的结果是使奇数在前偶数在后
</script>
splice()方法的作用是插入、删除或者替换一个数组元素,他不光会在原有的数组上进行修改,还
会返回被处理掉的内容,因此这是一个功能强大,但是不容易使用的方法,splice()方法用前两个
参数进行定位,余下的参数表示插入部分。

<script>
var a = new Array(1, 2, 3, 4, 5)
var b = a.splice(2) //a为[1, 2] b为[3, 4, 5]
var c = new Array(1, 2, 3, 4, 5)
var d = c.splice(2,2) //c为[1, 2, 5] d为[3, 4]
var e = new Array(1, 2, 3, 4, 5)
var f = f.splice(-4,2) //e为[1, 4, 5] f为[2, 3]
var g = new Array(1, 2, 3, 4, 5)
var h = g.splice(-2,-2) //第二个参数表示长度,因此负数在此无效

var i = new Array(1, 2, 3, 4, 5)
var j = i.splice(2,2,"first","second","third") //i为[1, 2, "first", "second", "third",
5] j为[3, 4] 后面部分会自动前后移动,以保持数组的连续性
var k = new Array(1, 2, 3, 4, 5)
var l = k.splice(2,2,["first","second"],"third") //k为[1, 2, ["first", "second"],
"third", 5] l为[3, 4] splice()方法不会展开数组,只直接写入
</script>
分享到:
评论

相关推荐

    Javascript实现Array和String互转换的方法

    本文将详细介绍如何使用JavaScript内置方法来实现数组与字符串之间的转换,其中涉及到了两个重要的字符串处理方法:toString方法和split方法。 首先,Array转为String。在JavaScript中,数组对象的toString方法可以...

    javascript array list into setjavascript array list into set

    javascript array list into setjavascript array list into setjavascript array list into setjavascript array list into setjavascript array list into setjavascript array list into setjavascript array ...

    JavaScript实现Array(数组)和Map

    `object.js` 文件可能涉及到的是JavaScript对象的操作,虽然不是直接与Array或Map相关,但它们在JavaScript中是重要的数据结构。JavaScript对象是一种键值对的集合,键通常是字符串,但也可以是符号(Symbol)。与...

    javaScript Array数组分页处理

    javaScript:将Array数组分页处理,支持分页数据容错; js文件:Page4array分页处理工具类; 兼容版本ES6。 博文:https://blog.csdn.net/HTouying/article/details/88898258

    JavaScript Array 对象.md

    这一篇就可以学会JavaScript Array 数组对象方法

    JS List的contains方法与Array的contains方法的使用

    ### JS List的contains方法与Array的contains方法的使用 在JavaScript中,`Array`是用于存储多个值的数据结构。然而,原生JavaScript并没有提供一个直接的`contains`方法来检查数组是否包含某个元素。通常情况下,...

    Javascript中关于Cookie存储Array集合

    总结,JavaScript中存储Array集合在Cookie的主要步骤包括序列化Array为JSON字符串,设置Cookie,然后在读取时反序列化回Array。需要注意的是,由于Cookie的大小限制和安全性问题,对于大量数据或敏感信息,可能需要...

    JavaScript Array数组去重源码下载

    JavaScript Array数组去重源码下载

    js in_array函.html

    js的in_array函数

    JavaScript Array.lastIndexOf.html

    JavaScript Array.lastIndexOf

    Javascript数组Array基础介绍_.docx

    Javascript 数组 Array 基础介绍 在 JavaScript 中,数组是一种特殊的对象,它们拥有独特的特性。在介绍数组之前,我们需要了解什么是数组。数组是一种类数组的对象,它们拥有对象的特性。当属性名是小而连续的整数...

    javascript array tutorial

    本文将详细介绍JavaScript数组的基本功能及其一些有用的扩展用法。 #### 数组的概念 数组本质上是一系列变量的有序集合。通过使用数组,可以替代传统的声明多个单独变量的方式,使得代码更加简洁易读。例如: ```...

    JavaScript Array函数

    JavaScript Array函数

    js 重写Array 类似map key,value结构

    javaScript,重写Array 类似java map的key,value键值对结构

    JavaScript 实现Array(数组)和Map

    在JavaScript编程中,Array和Map是两种非常重要的数据结构,它们各自有其独特的作用和应用场景。Array主要用于存储一组有序的元素,而Map则提供了一种键值对的存储方式,适用于关联不同类型的值。 Array(数组)是...

    JavaScript Array Flatten 与递归使用介绍

    如何用 JavaScript 将 [1,2,3,[4,5, [6,7]], [[[8]]]] 这样一个 Array 变成 [1,2,3,4,5, 6,7,8] 呢?传说中的 Array Flatten。 处理这种问题,通常我们会需要递归,来让程序自己按照一种算法去循环。在某书说写着,...

    js中json对象和Array数组的区别

    javscript中json对象和Array数组的区别

    JS 操作Array数组的方法及属性实例解析

    JavaScript中的Array对象是编程中非常基础且重要的部分,它提供了丰富的操作数组的方法和属性,使得在处理序列数据时变得高效且灵活。这篇文章主要探讨了Array的三个关键属性:length、prototype和constructor,以及...

    Strelki.js, JavaScript的哈希 array 库.zip

    Strelki.js, JavaScript的哈希 array 库 Strelki.jsStrelki.js 是一个 array 库,允许创建具有多个散列索引的数组。 它还允许 Join 数组类似于sql运算符的Join 。 JSDOCshttp://htmlpreview.github.io/?h

Global site tag (gtag.js) - Google Analytics