遍历javascript对象以查找匹配项
Iterate through javascript object to find a match
我正试图循环遍历一个对象并找到一个特定的匹配项。当我找到匹配项时,我想拉取对象中的其他键值对。因此,如果我有一个这样的对象:
[{"ID":"3","NAME":"John","Age":"15"},{"ID":"4","NAME":"Mike","Age":"10"},{"ID":"5","NAME":"Tim","Age":"18"},{"ID":"6","NAME":"Ken","Age":"20"}]
我有一个搜索/匹配值
var MatchValue = 4;
我如何遍历我的对象以找到等于4的"ID",并显示对象中的"NAME"answers"AGE"?如有任何帮助,我们将不胜感激。提前谢谢#JsonNoob。
您想要做的是过滤您的数组。您可以使用JavaScript的filter
函数来完成此操作。此代码将为您获取ID等于4的元素。
然后,您可以使用点或括号表示法访问此对象的属性。
var myObject = array.filter(function(element) {
return element.ID === '4';
}
console.log(myObject.name); // Prints name to console
console.log(myObject.age); // Prints age to console
如果你有一个石器时代的浏览器,你可以做这个
if (!Array.prototype.filter) {
Array.prototype.filter = function(fun /*, thisp*/) {
var len = this.length >>> 0;
if (typeof fun != "function")
throw new TypeError();
var res = [];
var thisp = arguments[1];
for (var i = 0; i < len; i++) {
if (i in this) {
var val = this[i]; // in case fun mutates this
if (fun.call(thisp, val, i, this))
res.push(val);
}
}
return res;
};
}
我从另一个Stack Overflow的答案中得到了这个,但我可以解释
这将检查您的浏览器是否具有Array.prototype.filter
功能。一些旧版本的IE没有它,所以你可以手动定义函数。
相关文章:
- 正在全局范围中查找JavaScript函数
- 如何以编程方式查找javascript语法错误的位置
- 查找javascript对象中元素的位置
- 为什么我的代码不能用于查找 JavaScript 中的数组中是否存在值
- 如何查找 javascript 是否已加载
- 解析此 JSON 响应以查找 Javascript 中的标头
- 如何通过函数调用查找 JavaScript 变量的传递用法
- 有没有办法在IntelliJ中查找JavaScript的方法结构
- 查找 Javascript 函数是否有闭包
- 在页面/元素小部件上查找JavaScript
- 查找Javascript何时暂停(难以总结)
- 正在尝试查找javascript元素's在屏幕上的位置..在webkit浏览器上无法正常工作
- 正在查找Javascript错误
- 在Emacs中查找JavaScript源代码
- 查找 javascript 中所有没有 data- 属性的元素
- 如果第一个位置无法加载,请在第二个位置查找Javascript源文件
- 实现正则表达式查找javascript文件中的类的跨度
- 查找javascript对象数组中缺少的元素
- 快速查找Javascript变量(PollDaddy哈希)
- 查找@
Javascript中的段落