Web前端⼯作笔记001---封装前端数据字典_js数组filter总结_
详解
我这⾥是我封装,前端数据字典的时候,⽤到的
//数据字典
var dic = function () {
var dics;
$.ajax({
async: false,
type: "get",
url: constant.url.sc_admin.dic,
dataType: 'JSON',
contentType: "application/json; charset=utf-8",
success: function (result) {
if (de == "200") {
dics = (result.data.list);
}
}
});
return {
getByTypeId: function (groupId) {
var dictypes;
dictypes = dics.filter(function (item) {
pe == groupId;
});
return dictypes;
},
getByDictId: function (groupId, dictId) {
var dictypeids;
dictypeids = dics.filter(function (item) {//这⾥⽤到的
return (pe == groupId) && (item.name == dictId);
});
return dictypeids[0];
},
getByDictValue: function (groupId, dictValue) {
var dictypevalues;
dictypevalues = dics.filter(function (item) {
return (pe == groupId) && (de == dictValue);
});
return dictypevalues[0];
filter过滤对象数组
}
}
}();
--------------------------------------------------------
fi-----------------lter过滤数组
filter()
1.⽅法创建⼀个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素
2.不会改变原始数组
var arr = [
{ id: 1, text: 'aa', done: true },
{ id: 2, text: 'bb', done: false }
]
console.log(arr.filter(item => item.done))
转成ES5
arr.filter(function (item) {
return item.done;
});
return后⾯判断结果,取布尔值,true的话就添⼊新的filter数组中,false的话,不会添进filter的数组中。最后得到新的数组是
[{id: 1, text: "aa", done: true}]
var arr = [
{ id: 1, text: 'aa', done: true },
{ id: 2, text: 'bb', done: '' }
]
console.log(arr.filter(item => item.done))
结果还是⼀样,因为”空字符串转成布尔类型为false
⽤处
1.去掉数组中的空字符串项
var arr = ['1.jpg','2.jpg','', '3.jpg',' ']
var newArr = arr.filter(item => item)
console.log(newArr,arr)
newArr => ["1.jpg", "2.jpg", "3.jpg", " "]  空字符串项被过滤掉了
arr => ["1.jpg", "2.jpg", "", "3.jpg", " "]
2.去掉数组中不符合的项
var arr = [73,84,56, 22,100]
var newArr = arr.filter(item => item>80)  //得到新数组 [84, 100]
console.log(newArr,arr)
var arr = ['aa','cb','cc', 'bd','rf']
var newArr = arr.filter(item => item.indexOf('b')<0) 不包含b字符串的得到新数组 ["aa", "cc", "rf"]

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。