按属性值的数组选择器函数
Array selector function by property value
我有:
var array = [ { key: '1' }, { key: '2' }, { key: '3' } ]
我想:
var obj = getFirstItem(array, 'key', '2');
结果是:
obj = { key: '2' }
是否有这样的功能在JavsScript或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));
我不认为这里真的需要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;
}
实例:http://jsfiddle.net/QARAd/
就像其他人说的那样,自己遍历数组是很简单的。
然而,在JS 1.5中有一个过滤器方法(显然在IE8和更低版本中不支持,尽管链接有一个兼容性工作)
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;
}
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/filter JSFiddle示例
相关文章:
- 如何将jquery函数链接到vanilla选择器
- jQuery选择器不识别任何动态创建的HTML输入函数
- 函数在日期选择器中选择日期之前触发
- 原型中漂亮的代码,如何省略'不是函数'空结果选择器上的错误
- 为什么JQueryshow()函数只对带有选择器的一个(而不是所有)元素起作用
- 日期选择器更改事件抛出”;TypeError:字符串不是函数;
- 使用元素选择器向Object添加函数
- 用于多个from输入的JQuery日期选择器函数
- 为什么jQuery选择器函数与原生DOM方法相比如此缓慢
- Javascript数字选择器函数
- 如何向 Javascript 表添加一行,其中包含包含 jQuery 中的日期选择器函数的单元格
- 无法停止/删除/销毁日期计时器选择器函数 (jQuery)
- JsPlumb - 将自己的选择器函数添加到动态锚点
- 如何将颜色选择器函数集成到动态文本字段中
- 两个连续的java脚本日期选择器函数
- 日期表没有'如果我放了日期选择器函数,它就根本不起作用
- 按属性值的数组选择器函数
- Jquery选择器函数参数
- 如何在 Observable.bindCallback 方法中使用 RXJS 选择器函数
- jQuery日期选择器函数