1、jquery grep()筛选遍历数组
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
$().ready(
function
(){
var
array = [1,2,3,4,5,6,7,8,9];
var
filterarray = $.grep(array,
function
(value){
return
value > 5;
//筛选出大于5的
});
for
(
var
i=0;i<filterarray.length;i++){
alert(filterarray[i]);
}
for
(key
in
filterarray){
alert(filterarray[key]);
}
}
);
|
2、jquery each()筛选遍历数组
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
$().ready(
function
(){
var
anObject = {one:1,two:2,three:3};
//对json数组each
$.each(anObject,
function
(name,value) {
alert(name);
alert(value);
});
var
anArray = [
'one'
,
'two'
,
'three'
];
$.each(anArray,
function
(n,value){
alert(n);
alert(value);
}
);
}
);
|
3、jquery inArray()筛选遍历数组
1
2
3
4
5
6
7
8
|
$().ready(
function
(){
var
anArray = [
'one'
,
'two'
,
'three'
];
var
index = $.inArray(‘two’,anArray);
alert(index);
//返回该值在数组中的键值,返回1
alert(anArray[index]);
//value is two
}
);
|
4、jquery map()筛选遍历数组
1
2
3
4
5
6
7
8
9
10
11
12
13
|
$().ready(
function
(){
var
strings = [
'0'
,
'1'
,
'2'
,
'3'
,
'4'
,
'S'
,
'6'
];
var
values = $.map(strings,
function
(value){
var
result =
new
Number(value);
return
isNaN(result) ?
null
:result;
//isNaN:is Not a Number的缩写
}
);
for
(key
in
values) {
alert(values[key]);
}
}
);
|
二、遍历解析json对象
1
2
3
4
5
6
|
var
json = [{dd:
'SB'
,AA:
'东东'
,re1:123},{cccc:
'dd'
,lk:
'1qw'
}];
for
(
var
i=0,l=json.length;i<l;i++){
for
(
var
key
in
json[i]){
alert(key+’:'+json[i][key]);
}
}
|
2、jquery遍历解析json对象2
有如下 json对象:
var obj ={”name”:”冯娟”,”password”:”123456″,”department”:”技术部”,”sex”:” 女”,”old”:30};
遍历方法:
1
2
3
4
5
|
for
(
var
p
in
obj){
str = str+obj[p]+’,’;
return
str;
}
|
三、Map()方法详解
1、实例
构建表单中所有值的列表:
1
2
3
4
5
|
$(
"p"
).append( $(
"input"
).map(
function
(){
return
$(
this
).val();
}).get().join(
", "
) );
|
2、定义和用法
map() 把每个元素通过函数传递到当前匹配集合中,生成包含返回值的新的 jQuery 对象。
3语法
.map(callback(index,domElement))
参数
描述
callback(index,domElement)
对当前集合中的每个元素调用的函数对象。
详细说明
由于返回值是 jQuery 封装的数组,使用 get() 来处理返回的对象以得到基础的数组。
.map() 方法对于获得或设置元素集的值特别有用。请思考下面这个带有一系列复选框的表单:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<form method=
"post"
action=
""
>
<fieldset>
<div>
<label
for
=
"two"
>2</label>
<input type=
"checkbox"
value=
"2"
id=
"two"
name=
"number[]"
>
</div>
<div>
<label
for
=
"four"
>4</label>
<input type=
"checkbox"
value=
"4"
id=
"four"
name=
"number[]"
>
</div>
<div>
<label
for
=
"six"
>6</label>
<input type=
"checkbox"
value=
"6"
id=
"six"
name=
"number[]"
>
</div>
<div>
<label
for
=
"eight"
>8</label>
<input type=
"checkbox"
value=
"8"
id=
"eight"
name=
"number[]"
>
</div>
</fieldset>
</form>
|
我们能够获得复选框 ID 组成的逗号分隔的列表:
1
2
3
4
5
|
$(
':checkbox'
).map(
function
() {
return
this
.id;
}).get().join(
','
);
|
本次调用的结果是字符串:"two,four,six,eight"。
在 callback 函数内部,this 引用每次迭代的当前 DOM 元素。该函数可返回单独的数据项,或者是要被插入结果集中的数据项的数组。如果返回的是数组,数组内的元素会被插入集合中。如果函数返回 null 或 undefined,则不会插入任何元素。