jq添加数组_jquery的对象数组的添加元素,删除元素

jquery的对象数组的添加元素,删除元素

2018-09-07

jquery对象数组

小弟今天遇到一个jQuery数组对象的问题,添加进去,遍历失败,找不到什么原因    报错原因(SyntaxError: missing ; after for-loop initializer),最后...   认真看代码,百度上面找原因,果断解决了.

找问题的同时找到了几个比较有用的东西,拿下来留着,万一以后有用!

/**

* 从对象数组中删除属性为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);

$.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

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。

http://www.pinlue.com/style/images/nopic.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值