朋友们,我有一个JSON对象:
var companies= [
{ id: 1, name: "Test Company", admin: "Test Admin" },
{ id: 2, name: "Another Company", admin: "Test Admin", country: 'Spain' },
{ id: 3, name: "New Company", admin: "Admin 4" },
{ id: 4, name: "Free Company", admin: "Jhon Miller", city: 'New York' }
];
我正在编写一个函数,用于返回新的JSON对象,其中包含我作为参数传递的元素(filter)。我制作了一个简单的
function searchBooks(companies,filter){
var result;
if (typeof filter=== "undefined" || filter.length==0) {
result = companies;
} else {
result = _.filter(companies, function (c) {
return _.includes(_.lowerCase(c.name),_.lowerCase(filter));
});
}
}
使用我的函数,我只能按名称过滤。我的问题是:如何按名称、管理员、国家和城市进行过滤,而不是按ID进行过滤?例如,如果您在变量中传递4,则应返回:
{ id: 3, name: "New Company", admin: "Admin 4" }
或者如果我搜索iLl,应该返回:
{ id: 4, name: "Free Company", admin: "Jhon Miller", city: 'New York' }
谢谢
'[{"id":1},{"id":2}]'
是以JSON格式格式化的数据,可以被解析为JS数组:[{id: 1}, {id: 2}]
。这可能看起来像是语义上的区别,但它是一个重要的区别。 - Useless Code