jquery的對象數組的添加元素,刪除元素

jquery對象數組

        小弟今天遇到一個jquery數組對象的問題,添加進去,遍歷失敗,找不到什麼原因    報錯原因(SyntaxError: missing ; after for-loop initializer),最後...   認真看代碼,百度上面找原因,果斷解決了.

         找問題的同時找到了幾個比較有用的東西,拿下來留着,萬一以後有用!


        <script src="js/jquery.js" ></script>
        <script>
        /**
        * 從對象數組中刪除屬性爲objPropery,值爲objValue元素的對象
        * @param Array arrPerson  數組對象
        * @param String objPropery  對象的屬性
        * @param String objPropery  對象的值
        * @return Array 過濾後數組
        */
        function remove(arrPerson,objPropery,objValue)
        {
           return $.grep(arrPerson, function(cur,i){
                  return cur[objPropery]!=objValue;
               });
        }
        /**
        * 從對象數組中獲取屬性爲objPropery,值爲objValue元素的對象
        * @param Array arrPerson  數組對象
        * @param String objPropery  對象的屬性
        * @param String objPropery  對象的值
        * @return Array 過濾後的數組
        */
        function get(arrPerson,objPropery,objValue)
        {
           return $.grep(arrPerson, function(cur,i){
                  return cur[objPropery]==objValue;
               });
        }
        /**
        * 顯示對象數組信息
        * @param String info  提示信息
        * @param Array arrPerson  對象數組
        */
        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);
        }
        //測試數據
        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("原始數組:/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遍歷對象、數組的屬性值並進行處理

通過$.each,可以遍歷對象、數組的屬性值並進行處理,下面有個示例,需要的朋友可以參考下

通過它,你可以遍歷對象、數組的屬性值並進行處理。

使用說明

each函數根據參數的類型實現的效果不完全一致:

1、遍歷對象(有附加參數)

1
2
3
4
$.each(Object, function(p1, p2) {
this; //這裏的this指向每次遍歷中Object的當前屬性值
p1; p2; //訪問附加參數
}, ['參數1', '參數2']);

2、遍歷數組(有附件參數)

1
2
3
4
$.each(Array, function(p1, p2){
this; //這裏的this指向每次遍歷中Array的當前元素
p1; p2; //訪問附加參數
}, ['參數1', '參數2']);

3、遍歷對象(沒有附加參數)

1
2
3
4
5
$.each(Object, function(name, value) {
this; //this指向當前屬性的值
name; //name表示Object當前屬性的名稱
value; //value表示Object當前屬性的值
});

4、遍歷數組(沒有附加參數)

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輸出的結果分別爲:one,two,three,four
 
var arr1 = [[1, 4, 3], [4, 6, 6], [7, 20, 9]]
$.each(arr1, function(i, item){
alert(item[0]);
});
//其實arr1爲一個二維數組,item相當於取每一個一維數組,
//item[0]相對於取每一個一維數組裏的第一個值
//所以上面這個each輸出分別爲:1 4 7
 
var obj = { one:1, two:2, three:3, four:4};
$.each(obj, function(key, val) {
alert(obj[key]);
});
//這個each就有更厲害了,能循環每一個屬性
//輸出結果爲:1 2 3 4

jquery 數組 添加元素

在前提不知道b在這個數組的下標,刪除b這個元素 


var arrList = ['a','b','c','d']; 
       
arrList.splice(jQuery.inArray('b',arrList),1); 


alert(arrList); 


其中jQuery.inArray('b',arrList)是b這個元素在數組arrList 中的位置 
splice(index,1)函數中第一個參數index是要刪除元素在數組中的位置,第二個參數是要刪除的數量。 


Array對象的方法有: 
concat() 連接兩個或更多的數組,並返回結果。 
join() 把數組的所有元素放入一個字符串。元素通過指定的分隔符進行分隔。 
pop() 刪除並返回數組的最後一個元素。 
push() 向數組的末尾添加一個或更多元素,並返回新的長度。 
reverse() 顛倒數組中元素的順序。 
shift() 刪除並返回數組的第一個元素 
slice() 從某個已有的數組返回選定的元素 
sort() 對數組的元素進行排序 
splice() 刪除元素,並向數組添加新元素。 
toSource() 返回該對象的源代碼。 
toString() 把數組轉換爲字符串,並返回結果。 
toLocaleString() 把數組轉換爲本地數組,並返回結果。 
unshift() 向數組的開頭添加一個或更多元素,並返回新的長度。 
valueOf() 返回數組對象的原始值。 


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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章