【发布时间】:2015-12-10 16:21:42
【问题描述】:
我有一个具有嵌套值的复杂对象。值可以是字符串、数组、对象数组或null 对象。像这样的:
{
foo:'a',
bar:'b',
otherthings : [{yep:'0',yuk:'yoyo0'},{yep:'1',yuk:'yoyo1'}],
foobar : 'yup',
value: null
}
检查对象中某处是否存在值(例如yoyo1)的最快方法是什么?有 Javascript 内置函数吗?
【问题讨论】:
-
Javascript find json value 的可能重复项
-
有 Javascript 内置函数吗? 没有,必须自己实现。递归是你的朋友。
-
不,javascript没有内置功能,但您可以使用简单的
for...in循环并手动检查所有内容 -
您可以遍历每个对象键/值,或者如果您只想知道值是否存在,您可以使用 JSON.stringify 将对象转换为文本并搜索 ":'value '" 你可以在字符串上使用正则表达式
-
JSON.stringify + RegEx 进行内部递归,因此性能相同。下面有一个使用
indexOf的答案,需要遍历所有字符串。性能将相同或几乎非常相似。你能做的最好的就是你认为更易读、更容易写的东西。
标签: javascript