文档章节

理顺 JavaScript (11) - 数组

涂孟超
 涂孟超
发布于 2014/09/26 15:29
字数 758
阅读 1
收藏 0

数组直接量
var arr;
arr = ['AA', 'BB', 'CC'];
alert(arr.toLocaleString()); //AA, BB, CC

arr = [11, 22, 33];
alert(arr.toLocaleString()); //11.00, 22.00, 33.00

/* 数组元素可以是任意类型, 包括数组本身 */
arr = ['AA', 'BB', 123];
alert(arr.toLocaleString()); //AA, BB, 123.00
alert(arr[0]);               //AA
alert(arr[1]);               //BB
alert(arr[2]);               //123

/* 可先站定维数, 以后赋值 */
arr = [ , , ];
arr[0] = 11;
arr[1] = 22;
arr[2] = 33;
alert(arr.toLocaleString()); //11.00, 22.00, 33.00

/* 先给个空数组, 再指定维数 */
arr = [];
alert(arr.length);           //0
arr.length = 3;
arr[0] = 11;
arr[1] = 22;
arr[2] = 33;
alert(arr.toLocaleString()); //11.00, 22.00, 33.00

/* 可用 length 属性改变数组的大小 */
arr = [1,2,3,4,5,6];
arr.length = 2;
alert(arr.toLocaleString()); //1.00, 2.00

 
 
 
 
 

 

 

  

数组对象的三种建立方法
var arr;
arr = new Array(11, '22', true);
alert(arr.toLocaleString()); //11.00, 22, true

arr = new Array(3);
arr[0] = 11;
arr[1] = '22';
arr[2] = true;
alert(arr.toLocaleString()); //11.00, 22, true

arr = new Array();
arr.length = 3;
arr[0] = 11;
arr[1] = '22';
arr[2] = true;
alert(arr.toLocaleString()); //11.00, 22, true

 
 
 
 
 

 

 

  

join : 数组到字符串
var arr, str;
arr = new Array('a', 'b', 1, 2, 3);
str = arr.join();
alert(str); //a,b,1,2,3

/* 可指定分隔符 */
str = arr.join(' * ');
alert(str); //a * b * 1 * 2 * 3

 
 
 
 
 

 

 

  

reverse、sort : 倒置与排序
var arr;
arr = new Array('c', 'd', 'e', 'a', 'b');
arr.reverse();
alert(arr.toLocaleString()); //b, a, e, d, c

arr.sort();
alert(arr.toLocaleString()); //a, b, c, d, e

 
 
 
 
 

 

 

  

concat : 添加返回新数组
var arr;
arr = [1, 2, 3]
arr = arr.concat(4, 5);
alert(arr.join()); //1, 2, 3, 4, 5

 
 
 
 
 

 

 

  

push、pop : 从尾部添加与删除; push 返回新长度, pop 返回被删除的元素
var arr;
arr = [1, 2, 3, 4, 5]
arr.pop();
alert(arr.join()); //1,2,3,4

arr.push(7, 8, 9);
alert(arr.join()); //1,2,3,4,7,8,9

arr.push(0, ['A', 'B']);
alert(arr.join()); //1,2,3,4,7,8,9,0,A,B
arr.pop();
alert(arr.join()); //1,2,3,4,7,8,9,0
arr.pop();
alert(arr.join()); //1,2,3,4,7,8,9

 
 
 
 
 

 

 

  

unshift、shift : 从开始插入与删除; unshift 返回新长度, shift 返回被删除的元素
var arr;
arr = [1, 2, 3]
arr.unshift(5, 6);
alert(arr.join()); //5,6,1,2,3

arr.shift();
arr.shift();
alert(arr.join()); //1,2,3

arr.unshift([5,6,7,8]);
alert(arr.join()); //5,6,7,8,1,2,3
arr.shift();
alert(arr.join()); //1,2,3

 
 
 
 
 

 

 

  

splice : 删除、替换、插入; 如果有删除则返回被删除元素的数组
var arr;
arr = [1, 2, 3, 4, 5, 6, 7, 8]
arr.splice(4, 3); //从第 4 个(0起)开始删除 3 个
alert(arr.join()); //1, 2, 3, 4, 8

arr.splice(3, 3, 'A', 'B', 'C'); //从第 3 个(0起)开始替换 3 个
alert(arr.join()); //1, 2, 3, A, B, C

arr.splice(3, 0, 7, 8, 9); //从第 3 个(0起)开始插入 3 个; 插入时第二个参数给 0
alert(arr.join()); //1, 2, 3, 7, 8, 9, A, B, C

 
 
 
 
 

 

 

  

slice : 提取子数组; 返回新数组
var arr;
arr = [1, 2, 3, 4, 5, 6, 7, 8]
arr = arr.slice(2, 5);
alert(arr.join()); //3,4,5

/* 参数为负表示从后面数 */
arr = [1, 2, 3, 4, 5, 6, 7, 8]
arr = arr.slice(2, -2);
alert(arr.join()); //3,4,5,6

arr = [1, 2, 3, 4, 5, 6, 7, 8]
arr = arr.slice(-3, -1);
alert(arr.join()); //6,7

 
 
 
 
 

 

 

  

toString、valueOf
var arr;
arr = [1, 2, 3, 'A', 'B', 'C']
alert(arr);                  //1,2,3,A,B,C
alert(arr.toString());       //1,2,3,A,B,C
alert(arr.valueOf());        //1,2,3,A,B,C
alert(arr.toLocaleString()); //1.00, 2.00, 3.00, A, B, C

 
 
 
 
 

 

 

  

遍历与模拟的多维数组
var arr;
arr = [[1,2,3], [4,5,6], [7,8,9]];
alert(arr[1][1]); //5

arr = new Array(new Array(1,2,3), new Array(4,5,6), new Array(7,8,9));
alert(arr[1][1]); //5

alert(arr) //1,2,3,4,5,6,7,8,9
for (i=0; i<arr.length; i++) {
  document.write(arr[i] + '<b>'); //1,2,3 / 4,5,6 / 7,8,9
}

arr = [1,2,3,4,5,6,7,8,9];
for (i in arr) {
  document.write(arr[i] + '<br>'); //1 / 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9
}

arr = new Array([1,2,3], [4,5,6], [7,8,9]);
for (i in arr) {
  document.write(arr[i] + '<br>'); //1,2,3 / 4,5,6 / 7,8,9
}

for (i in arr) for (j in arr[i])
  document.write(arr[i][j] + '<br>'); //1 / 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2009/02/27/1400032.html

涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
请教一下js的数组格式,在外面好像没看见我这样子的.麻烦各位了

比如有N跳数据,那么用key来提取数据,比直接循环要快多了.这里是我生成的js数组.感觉是格式错了.看着js数组太陌生了.所以来寻求帮助. var js = [{'11':['1', '11', '12'],['2', '11', '32']},......

ffvsnn520
2014/07/04
221
3
HTML 5视频教程系列之JavaScript学习篇-何韬-专题视频课程

HTML 5视频教程系列之JavaScript学习篇—52816人已学习 课程介绍 HTML 5视频教程系列中JavaScript开发的基础知识讲解及学习。 课程收益 通过自学视频掌握HTML 5开发手机应用和手机游戏的技能...

pkutao
2015/02/10
0
0
JavaScript 语言基础知识点总结(思维导图)

(1)javascript 数组 (2)函数基础 (3)运算符 (4)流程语句 (5)正则表达式 (6)字符串函数 (7)数据类型 (8)变量 (9)window 对象 (10)DOM基本操作 (11)一图知晓整个Javascr...

大数据之路
2012/11/26
1K
2
「译」在 javascript 中,为什么 [1,2] + [3,4] 不等于 [1,2,3,4]?

在 stackoverflow 上有人提问:arrays - Why does [1,2] + [3,4] = "1,23,4" in JavaScript? 中文翻译:在 javascript 中,为什么 [1,2] + [3,4] 不等于 [1,2,3,4]? 问题 我想将一个数组追加......

justjavac
2012/12/20
363
1
js 用迭代器模式优雅的处理递归问题

什么是迭代器 循环数组或对象内每一项值,在 js 里原生已经提供了一个迭代器。 实现一个迭代器 实际应用 需求: Antd 的嵌套表格组件的数据源有要求,如果没有子元素,children 属性应该设置...

dkvirus
04/02
35
0

没有更多内容

加载失败,请刷新页面

加载更多

前端面试题汇总

一. HTML常见的兼容性 1.HTML5 标签在低版本浏览器不兼容 解决办法:使用html5shiv库,引入下列语句 <!--[if lte IE 8]> <script src="https://cdn.bootcss.com/html5shiv/r29/html5.js"></sc......

蓝小驴
26分钟前
5
0
OSChina 周四乱弹 —— 我气的脸都黑了!

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 小小编辑推荐《Red Battle》- 高橋李依 / 豊崎愛生 《Red Battle》- 高橋李依 / 豊崎愛生 手机党少年们想听歌,请使劲儿戳(这里) @丶Lion ...

小小编辑
39分钟前
451
19
找OSG教程, B站就有

https://www.bilibili.com/video/av64849038?from=search&seid=11632913960900279653

洛克人杰洛
今天
5
0
学习记录(day07-Vue组件、自定义属性、自定义事件)

[TOC] 1.1.1什么是组件 一个vue文件就是一个组件 组件将html标签/css样式/对应JS打包成一个整体,也可以理解钻进一个具有样式和特效的自定义标签。 一、编写组件(提供方)<template> <di...

庭前云落
今天
5
0
使用Prometheus监控SpringBoot应用

通过之前的文章我们使用Prometheus监控了应用服务器node_exporter,数据库mysqld_exporter,今天我们来监控一下你的应用。(本文以SpringBoot 2.1.9.RELEASE 作为监控目标) 编码 添加依赖 使...

JAVA日知录
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部