//商品選擇完成跳轉到提交訂單頁面
function orderDetails(){
var shopCarIds = [];//存放商品的數組
var objs = [];
objs = $("div[id^='of_am_']");//所有商品的id
for(var i = 0;i < objs.length; i++){
var orderId = objs[i].id.replace("of_am_","");//獲取id
var nomber = $("#of_am_"+orderId+"").html();
var a = [orderId,nomber]//多數據數組
if(nomber > 0){
shopCarIds.push(a);
}
}
if(shopCarIds.length > 0){
location.href = "${contextPath}/group/enterOrder";
}else{
wxAlert("請選擇洗衣類型!");
}
}
1.定義並賦值
var str = ['java', 'php', 'c++', 'c#', 'perl', 'vb', 'html', 'css'];
2.用{}定義后賦值:
var array = {};//定義一個數組
array[0] = "Tom";
array[1] = "Male";
array[2] = "123456@qq.com";
數組的下標也可以這樣:
array['name'] = "Tom";
array['sex'] = "Male";
array['mail'] = "123456@qq.com";
3.使用new Array()定義:
(1).
var a = new Array(10);
定義長度為10的數組,此時為a已經開辟了內存空間,用數組名稱加 [下標] 來調用。
(2).
var a = new Array();
a[0] = 10;
a[1] = "Tom";
a[2] = 12.6;
定義一個可變數組,並進行賦值。數組的賦值還可以使用push()方法,這樣可以避免使用下標的麻煩:
a.push(10);
a.push("Tom");
a.push(12.6);
(3).
var a = new Array(1, 2, 3, 4, 5);
var b = [1, 2, 3, 4, 5];
a 和 b 都是數組,只不過b用了隱性聲明,創建了另一個實例,此時如果用alert(a==b)將彈出false。
(4).
數組就是某類數據的集合,數據類型可以是整型、字符串、甚至是對象。
Javascript不支持多維數組,但是因為數組里面可以包含對象(數組也是一個對象),所以數組可以通過相互嵌套實現類似多維數組的功能。
數組里面可以包含對象,所以可以把數組里面的某個元素再聲明為數組,例如
var a = new Array();
a[0] = new Array();
a[0][0] = 1;
alert(a[0][0]); //彈出 1
聲明的時候賦值
var a = new Array([1,2,3], [4,5,6], [7,8,9]);
var b = [[1,2,3], [4,5,6], [7,8,9]];
二、數組的操作:
1.通過數組[下標]來讀寫數組的元素:
如:a[0] = 10;
a[1] = "Tom";
a[2] = 12.6;
下標的范圍是 0 – (23(上標2) -1),當下標是負數、浮點甚至布爾值的時候,數組會自動轉換為對象類型。
如:
var b = new Array();
b[2.2] = "XXXXX";
alert(b[2.2]); //-> XXXXX
2.通過push(),pop()方法讀寫元素:
(1).push
往數組后面添加數組,並返回數組新長度
var a = ["aa","bb","cc"];
document.write(a.push("dd")); // -> 4
(2).pop
刪除數組最后一個元素,並返回該元素
var a = ["aa","bb","cc"];
document.write(a.pop()); // -> cc
3.數組的循環:
(1).for循環:
var a = [1,2,3,4,5,6];
for(var i =0; i<a.length; i++){
alert(a[i]);
}
(2).foreach循環:
var a = [1,2,3,4,5,6];
for(var e in a){
alert(e);
}
還是依次彈出1至6,for…in是歷遍對象(數組是特殊的對象)對象,用在數組上,因為數組沒有屬性名,所以直接輸出值,這結構語句用在對象上,例如下面
var a = {x:1,y:2,z:3};
for(var e in a){
alert(e + ":" + a[e]);
}
此時e取到的是屬性名,即 x、y、x,而要取得值,則采用 數組名[屬性],所以 a[e] 等同於 a[“x”]、a[“y”]、a[“z”]。
4.將數組轉換為字符串:
(1).join("分隔符")
用指定間隔符連起來,把數組轉為字符串
例:
var a = ['a','b','c','d','e','f','g'];
alert(a.join(",")); // -> a,b,c,d,e,f,g
需要注意的是只轉換一維數組里面,如果數組里面還有數組,將不是采用join指定的字符串接,而是采用默認的toString()。
(2).toString()
把數組轉為字符串,不只數組,所有對象均可使用該方法
var a = [5,6,7,8,9,["A","BB"],100];
document.write(a.toString()); // -> 5,6,7,8,9,A,BB,100
(3)valueOf
根據不同對象返回不同原始值,用於輸出的話跟toString()差不多,但是toString()是返回string類型,而valueOf()是返回原對象類型。
var a = [1,2,3,[4,5,6,[7,8,9]]];
document.write(a.valueOf()); // -> 1,2,3,4,5,6,7,8,9
5.使用slice返回數組片段
var a = ['a','b','c','d','e','f','g'];
alert(a.slice(1,2)); // -> b
alert(a.slice(2)); // -> c,d,e,f,g
alert(a.slice(-4)); // -> d,e,f,g
alert(a.slice(-2,-6)); // -> 空
a.slice(1,2),從下標為1開始,到下標為2之間的數,注意並不包括下標為2的元素
如果只有一個參數,則默認到數組最后。
-4是表示倒數第4個元素,所以返回倒數的四個元素。
alert(a.slice(-2,-6))從倒數第2開始,因為是往后截取,所以顯然取不到前面的元素,所以返回空數組,如果改成 a.slice(-6,-2) 則返回b,c,d,e。
參考: