| jquery對象數(shù)組        小弟今天遇到一個jQuery數(shù)組對象的問題,添加進去,遍歷失敗,找不到什么原因    報錯原因(SyntaxError: missing ; after for-loop initializer),最后...   認真看代碼,百度上面找原因,果斷解決了.          找問題的同時找到了幾個比較有用的東西,拿下來留著,萬一以后有用! 
         <script src="js/jquery.js" ></script><script>
 /**
 * 從對象數(shù)組中刪除屬性為objPropery,值為objValue元素的對象
 * @param Array arrPerson  數(shù)組對象
 * @param String objPropery  對象的屬性
 * @param String objPropery  對象的值
 * @return Array 過濾后數(shù)組
 */
 function remove(arrPerson,objPropery,objValue)
 {
 return $.grep(arrPerson, function(cur,i){
 return cur[objPropery]!=objValue;
 });
 }
 /**
 * 從對象數(shù)組中獲取屬性為objPropery,值為objValue元素的對象
 * @param Array arrPerson  數(shù)組對象
 * @param String objPropery  對象的屬性
 * @param String objPropery  對象的值
 * @return Array 過濾后的數(shù)組
 */
 function get(arrPerson,objPropery,objValue)
 {
 return $.grep(arrPerson, function(cur,i){
 return cur[objPropery]==objValue;
 });
 }
 /**
 * 顯示對象數(shù)組信息
 * @param String info  提示信息
 * @param Array arrPerson  對象數(shù)組
 */
 function showPersonInfo(info,arrPerson)
 {
 $.each(arrPerson, function(index,callback){
 info+="Person id:" + arrPerson[index].id + " name:" +  arrPerson[index].name+ " sex:"+ arrPerson[index].sex+" age:"+  arrPerson[index].age+"/r/t";
 });
 alert(info);
 }
 //測試數(shù)據(jù)
 var arrPerson=new Array();
 var person=new Object();
 person.id=1;
 person.name="帥哥";
 person.sex="男";
 person.age=30;
 arrPerson.push(person);
 
 person=new Object();
 person.id=2;
 person.name="美眉甲";
 person.sex="女";
 person.age=28;
 arrPerson.push(person);
 
 person=new Object();
 person.id=3;
 person.name="美眉乙";
 person.sex="女";
 person.age=20;
 arrPerson.push(person);
 
 //測試刪除
 showPersonInfo("原始數(shù)組:/r/t",arrPerson);
 arrPerson=remove(arrPerson,"id",1);
 showPersonInfo("刪除之后:/r/t",arrPerson);
 //測試獲取
 arrPerson=get(arrPerson,"id",3);
 showPersonInfo("只獲取ID為3的元素:/r/t",arrPerson);
 
 </script>
 
 $.each遍歷對象、數(shù)組的屬性值并進行處理通過$.each,可以遍歷對象、數(shù)組的屬性值并進行處理,下面有個示例,需要的朋友可以參考下
 通過它,你可以遍歷對象、數(shù)組的屬性值并進行處理。 使用說明 each函數(shù)根據(jù)參數(shù)的類型實現(xiàn)的效果不完全一致: 1、遍歷對象(有附加參數(shù)) 
| 1 2 3 4 | 
$.each(Object, function(p1, p2) {
 this;
//這里的this指向每次遍歷中Object的當前屬性值
 p1; p2; //訪問附加參數(shù)
 }, ['參數(shù)1',
'參數(shù)2']);
 |  2、遍歷數(shù)組(有附件參數(shù)) 
| 1 2 3 4 | 
$.each(Array, function(p1, p2){
 this;
//這里的this指向每次遍歷中Array的當前元素
 p1; p2; //訪問附加參數(shù)
 }, ['參數(shù)1',
'參數(shù)2']);
 |  3、遍歷對象(沒有附加參數(shù)) 
| 1 2 3 4 5 | 
$.each(Object, function(name, value) {
 this;
//this指向當前屬性的值
 name; //name表示Object當前屬性的名稱
 value; //value表示Object當前屬性的值
 });
 |  4、遍歷數(shù)組(沒有附加參數(shù)) 
| 1 2 3 4 5 | 
$.each(Array, function(i, value) {
 this;
//this指向當前元素
 i; //i表示Array當前下標
 value; //value表示Array當前元素
 });
 |  下面提一下jQuery的each方法的幾種常用的用法 Js代碼
 
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 
var
arr = [ "one", "two", "three",
"four"]; 
 $.each(arr, function(){
 alert(this);
 }); 
 //上面這個each輸出的結(jié)果分別為:one,two,three,four
 var
arr1 = [[1, 4, 3], [4, 6, 6], [7, 20, 9]] 
 $.each(arr1, function(i, item){ 
 alert(item[0]); 
 }); 
 //其實arr1為一個二維數(shù)組,item相當于取每一個一維數(shù)組,
 //item[0]相對于取每一個一維數(shù)組里的第一個值
 //所以上面這個each輸出分別為:1 4 7
 var
obj = { one:1, two:2, three:3, four:4}; 
 $.each(obj, function(key, val) { 
 alert(obj[key]); 
 }); 
 //這個each就有更厲害了,能循環(huán)每一個屬性
 //輸出結(jié)果為:1 2 3 4
 |  在前提不知道b在這個數(shù)組的下標,刪除b這個元素
 
 
 var arrList = ['a','b','c','d'];
 
 arrList.splice(jQuery.inArray('b',arrList),1);
 
 
 alert(arrList);
 
 
 其中jQuery.inArray('b',arrList)是b這個元素在數(shù)組arrList 中的位置
 splice(index,1)函數(shù)中第一個參數(shù)index是要刪除元素在數(shù)組中的位置,第二個參數(shù)是要刪除的數(shù)量。
 
 
 Array對象的方法有:
 concat() 連接兩個或更多的數(shù)組,并返回結(jié)果。
 join() 把數(shù)組的所有元素放入一個字符串。元素通過指定的分隔符進行分隔。
 pop() 刪除并返回數(shù)組的最后一個元素。
 push() 向數(shù)組的末尾添加一個或更多元素,并返回新的長度。
 reverse() 顛倒數(shù)組中元素的順序。
 shift() 刪除并返回數(shù)組的第一個元素
 slice() 從某個已有的數(shù)組返回選定的元素
 sort() 對數(shù)組的元素進行排序
 splice() 刪除元素,并向數(shù)組添加新元素。
 toSource() 返回該對象的源代碼。
 toString() 把數(shù)組轉(zhuǎn)換為字符串,并返回結(jié)果。
 toLocaleString() 把數(shù)組轉(zhuǎn)換為本地數(shù)組,并返回結(jié)果。
 unshift() 向數(shù)組的開頭添加一個或更多元素,并返回新的長度。
 valueOf() 返回數(shù)組對象的原始值。
 
 
 var arrList = new Array();
 
 
 arrList.push("abc");
 
 
 var arr = new Array(3)
 arr[0] = "George"
 arr[1] = "John"
 arr[2] = "Thomas"
 
 
 document.write(arr.join())
 
 參考地址:
http://www.w3school.com.cn/jsref/jsref_obj_array.asp
 
 |