前言 一个成熟的大型网站(如淘宝、京东等)的系统架构并不是开始设计就具备完整的高性能、高可用、安全等特性,它总是随着用户量的增加,业务功能的扩展 逐渐演变完善的,在这个过程中,开发模式、技术架构、设计思想也发生了很大的变化,就连技术人员也从几个人发展到一个部门甚至一条产品线。所以成熟的系统 架构是随业务扩展而完善出来的,并不是一蹴而就;不同业务特征的系统,会有各自的侧重点,例如淘宝,要解决海量的商品信息的搜索、下单、支付,例如腾讯, 要解决数亿的用户实时消息传输,百度它要处理海量的搜索请求,他们都有各自的业务特性,系统架构也有所不同。尽管如此我们也可以从这些不同的网站背景下, 找出其中共用的技术,这些技术和手段可以广泛运行在大型网站系统的架构中,下面就通过介绍大型网站系统的演化过程,来认识这些技术和手段。 一、最开始的网站架构 最初的架构,应用程序、数据库、文件都部署在一台服务器上,如图:…
javascript数组的使用(索引数组和关联数组)
数组的定义:
方法1.
var mycars = new Array() mycars[0] = "Saab" mycars[1] = "Volvo" mycars[2] = "BMW"
方法2.
定义和初始化一起:
var mycars = new Array("Saab","Volvo","BMW")
或者另一种写法:
var mycars = ["Saab","Volvo","BMW"];
javascript二维数组:
javascript用一维数组来模拟二维数组:
方法1.
var arr = new Array(['a','b','c'],['d','e','f']);
arr[0]返回第一个一维数组,arr[0][0]返回第一个一维数组的第一个元素’a’,下同。
方法2.
arr=new Array(); for(i=0;i<100;i++) { arr[i]=new Array(...); }
方法3.
var arr=new Array( new Array(), new Array(), new Array() );
数组长度:
javascript的数组不需要设定长度,会自己进行扩展,数组名.length返回元素个数
常用函数:
数组常用函数
toString():把数组转换成一个字符串
toLocaleString():把数组转换成一个字符串
join():把数组转换成一个用符号连接的字符串
shift():将数组头部的一个元素移出
unshift():在数组的头部插入一个元素
pop():从数组尾部删除一个元素
push():把一个元素添加到数组的尾部
concat():给数组添加元素
slice():返回数组的部分
reverse():将数组反向排序
sort():对数组进行排序操作
splice():插入、删除或者替换一个数组元素
javascript 数组排序:
arrayobj.sort(sortfunction)
参数
arrayObj
数组
sortFunction
可选项。比较函数。如果这个参数被省略,那么元素将按照 ASCII 字符顺序进行升序排列。
比较函数必须返回下列值之一:
* 负值,如果所传递的第一个参数比第二个参数小。
* 零,如果两个参数相等。
* 正值,如果第一个参数比第二个参数大
举例:
var testArray=[1,5,2,3,6,4] testArray.sort(function(a,b){return a-b;}); alert(testArray);
参考: http://bjtime.cn/info/view.asp?id=177
一.关联数组
1. 关联数组定义
// 定义空数组 var arr = []; //or var arr = {};
2. 关联数组赋值
//在定义时同时赋值 var arr = {"one":"valOne","two":"valTwo"}; // 已定义的关联数组赋值 arr["one"] = "valOne"; arr.one = "valOne";
3. 向关联数组添加键值
// 添加一个新键three ,键值为valThree arr["three"] = "valThree"; arr.three = "valThree";
4. 删除关联数组已有键值
// 删除一个键three,同时该键值对应的valThree也即被删除 delete arr["three"];
5. 关联数组对应键值的获取
//获取值val1 var val = arr["one"]; //or var val = arr.one;
6. 遍历Hash关联数组
// 遍历整个hash 数组 for (key in arr) { val = arr[key]; }
二. 关于关联数组的用法分析
1. 关联数组&对象
大家会发现JavaScript中关联数组和对象的使用方法有些是一样的,没错,JavaScript中数组是对象的子集(关于更多有关JavaScript中对象的介绍请参考后面的参考文章)。
既然关联数组也是对象,那么关于关联数组的相关使用方法就不难理解了,
如:
var arr = {"one":"valOne","two":"valTwo"}; arr.three = "valThree";
参考:
1. js 关联数组与普通数组 http://wyllife.blog.163.com/blog/static/4116390120115210038676/
2. JS “关联数组” http://cc.ecjtu.net/posts/js-associative-array
3. Javascript 面向对象编程 http://coolshell.cn/articles/6441.html
4. 再谈javascript面向对象编程 http://coolshell.cn/articles/6668.html
更多参考:
JavaScript使用PHP函数 PHP extensions in JavaScript
本文: javascript数组的使用(索引数组和关联数组)