您的位置:首页 > 其它

数据处理函数$.grep,$.map,$.makeArray,sort

2017-04-01 10:33 127 查看

jQuery.grep(array, callback, [invert])

使用过滤函数过滤数组元素。

此函数至少传递两个参数:待过滤数组和过滤函数。过滤函数必须返回 true 以保留元素或 false 以删除元素。

invert:如果 "invert" 为 false 或为设置,则函数返回数组中由过滤函数返回 true 的元素,当"invert" 为 true,则返回过滤函数中返回 false 的元素集。

var list=[{name:"zs",age:17},{name:"ls",age:20},{name:"ww",age:18}];
var adult=$.grep(list,function (val,index) {
if(val.age>=18){
return true
}
});
console.log(adult); //[{name:"ls",age:20},{name:"ww",age:18}]


jQuery.makeArray(obj)

将类数组对象转换为数组对象。

类数组对象有 length 属性,其成员索引为 0 至 length - 1。实际中此函数在 jQuery 中将自动使用而无需特意转换。

jQuery.map(arr|obj,callback)

将一个数组中的元素转换到另一个数组中。

作为参数的转换函数会为每个数组元素调用,而且会给这个转换函数传递一个表示被转换的元素作为参数。转换函数可以返回转换后的值、null(删除数组中的项目)或一个包含值的数组,并扩展至原始数组中。

<body>
<div id="textArea">
<span data-val="1">one</span>
<span data-val="2">two</span>
<span data-val="3">three</span>
<span data-val="4">four</span>
</div>
</body>
<script>
var spanArray=$.makeArray($("#textArea span")).map(function (obj) {
var param={}
param.text=obj.textContent;
param.value=$(obj).attr("data-val");
return param;
});
console.log(spanArray);//[{text:"one",value:"1"},{text:"two",value:"2"},{text:"three",value:"3"},{text:"four",value:"4"}]
</script>


arrayObject.sort(sortby)

sortby可选。规定排序顺序。必须是函数。

返回值是对数组的引用。

如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。

如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。

var list=[{name:"zs",age:17},{name:"ls",age:20},{name:"ww",age:18}];
list.sort(function (a,b) {
return a.age-b.age;
})
console.log(list);//[{name:"zs",age:17},{name:"ww",age:18},{name:"ls",age:20}]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: