Javascript 按属性值的数组选择器函数
我有:Javascript 按属性值的数组选择器函数,javascript,jquery,Javascript,Jquery,我有: var array = [ { key: '1' }, { key: '2' }, { key: '3' } ] 我想: var obj = getFirstItem(array, 'key', '2'); 因此: obj = { key: '2' } JAVScript或jQuery中有这样的函数吗?我不知道有内置函数。但是,自己实现它是很简单的: var data = [ { key: '1' }, { key: '2' }, { key: '3' } ]; function
var array = [ { key: '1' }, { key: '2' }, { key: '3' } ]
我想:
var obj = getFirstItem(array, 'key', '2');
因此:
obj = { key: '2' }
JAVScript或jQuery中有这样的函数吗?我不知道有内置函数。但是,自己实现它是很简单的:
var data = [ { key: '1' }, { key: '2' }, { key: '3' } ];
function getFirstItem(input, key, value) {
for(var i = 0; i < input.length; i++) {
if(input[i][key] === value)
return input[i];
}
}
console.log(getFirstItem(data, "key", 2));
var data=[{key:'1'},{key:'2'},{key:'3'}];
函数getFirstItem(输入、键、值){
对于(变量i=0;i
我认为jQuery在这里没有必要。该功能非常简单,如下所示:
function getFirstItem(arr, k, v){
for(var i=0;i<arr.length;i++){
var obj = arr[i];
if(obj[k] == v)
return obj;
}
return null;
}
函数getFirstItem(arr、k、v){
对于(var i=0;i来说,就像其他人说的那样,自己循环数组非常简单 但是JS1.5中有一个过滤方法(显然IE8和更低版本不支持,尽管链接有一个兼容性解决方案)
不应该有同名的参数和循环变量。您可以看看JSLINQ,这样就可以了
var myarray = [ { key: '1' }, { key: '2' }, { key: '3' } ]
function getFirstItem(myarray, key) {
var result = myarray.filter(function(element, index, array) {
return element.key == key;
});
if (result.length)
return result[0];
return null;
}