如果我有一个JS对象,例如:
var foo = { 'bar' : 'baz' }
如果我知道foo
键具有基本的键/值结构,但不知道键的名称,那么最简单的方法是什么?for ... in
?$.each()
?我希望有更好的…
如果要获取所有密钥,则可以使用ECMAScript5Object.keys
。只有较新的浏览器才支持此功能,但MDC文档提供了另一种实现方式(也使用for...in
btw):
if(!Object.keys) Object.keys = function(o){
if (o !== Object(o))
throw new TypeError('Object.keys called on non-object');
var ret=[],p;
for(p in o) if(Object.prototype.hasOwnProperty.call(o,p)) ret.push(p);
return ret;
}
当然,如果您想要键和值,那么这for...in
是唯一合理的解决方案。
问题内容: 我如何获得后续的密钥名称?例如,我要“ button1”和“ button2”? 我尝试使用,尽管这没有用。 问题答案: 如果您稍微修改一下措辞,则可能会更好地理解: 请注意,您要遍历对象的属性,并在每个后续周期中使用对每个对象的引用。 MSDN说到以下内容: 在循环的每次迭代之前,都会为变量分配对象的下一个属性名称或数组的下一个元素索引。然后,您可以在循环内的任何语句中使用它来引用对
问题内容: 我需要解析这样的URL字符串: 我需要将NSString拆分为类似和的标志部分。我一直在用,但是值以随机顺序返回,所以搞砸了。是否有任何类可以轻松解析,因此您基本上可以将其转换为NSDictionary以便能够读取键的值(例如ValueForKey:应该返回)。还是有比使用子字符串更简单的解析方法? 问题答案: **编辑(2018年6月):[ 这个答案更好 您可以queryItems在
问题内容: 我有一个JavaScript对象,例如 如何获取此对象中键的长度和列表? 问题答案: var obj = {
问题内容: 我正在尝试选择多个字段,其中一个字段需要是一个数组,该数组的每个元素都包含 两个 值。每个数组项都需要包含一个名称(字符不同)和一个ID(数字)。我知道如何返回单个值的数组(使用关键字),但是我不确定如何返回本身包含两个值的对象的数组。 查询就像 我读到一种实现此目的的方法是,将值选择为一个类型,然后创建该类型的数组。问题是,该函数的其余部分已经返回了一个类型(这意味着我将拥有嵌套的类
问题内容: 我是JSON的新手。因此,如果这是一个非常基本的疑问,请不要责骂我。我有一个JSON对象参考,我想获取Key(对象只有一个“键值对”)。如何在Java中获得它? 问题答案: 您可以用来获取所有密钥。然后,您可以遍历密钥以从中获得第一个密钥,例如:
问题内容: 我有一个非常简单的JavaScript对象,用作关联数组。是否有一个简单的函数可以让我获取值的键,还是必须迭代该对象并手动找到它? 问题答案: 使用Underscore.js库: