迭代对象并找到编号的键
Iterate object and find numbered keys
我有一个看起来像这样的对象:
var myObj = {
some : {},
stuff : 123,
in : {
here : {
variables : 'stuffety stuff',
variables : 'stuffety stuff',
variables : 'stuffety stuff',
variables : 'stuffety stuff',
image1 : 'img1.jpg',
image2 : 'img2.jpg',
image3 : 'img3.jpg',
imageN : 'imgN.jpg',
...
variables : 'stuffety stuff',
variables : 'stuffety stuff',
}
}
}
其中 N 可以是任何给定的数字。我正在尝试获取其中包含 "image" 的所有键并将其推送到数组中。这样结果应该如下所示:
图片['img1.jpg','img2.jpg','img3.jpg','imgN.jpg'...]
当我不知道有多少个时,如何找到那些编号的键。它们也可以是无序的。 (例如缺少 image2)
您可以使用对象方法 Object.keys()
获取对象内的键。
Object.keys(myObj.in.here)
上面的代码会给你预期的结果。
这是一个使用 for
循环的简单解决方案。原始代码见this question。
var extracted = [];
for (var p in myObj.xin.here) {
if (myObj.xin.here.hasOwnProperty(p) && p.indexOf("image") > -1) {
extracted.push(p);
}
}
我有一个看起来像这样的对象:
var myObj = {
some : {},
stuff : 123,
in : {
here : {
variables : 'stuffety stuff',
variables : 'stuffety stuff',
variables : 'stuffety stuff',
variables : 'stuffety stuff',
image1 : 'img1.jpg',
image2 : 'img2.jpg',
image3 : 'img3.jpg',
imageN : 'imgN.jpg',
...
variables : 'stuffety stuff',
variables : 'stuffety stuff',
}
}
}
其中 N 可以是任何给定的数字。我正在尝试获取其中包含 "image" 的所有键并将其推送到数组中。这样结果应该如下所示:
图片['img1.jpg','img2.jpg','img3.jpg','imgN.jpg'...]
当我不知道有多少个时,如何找到那些编号的键。它们也可以是无序的。 (例如缺少 image2)
您可以使用对象方法 Object.keys()
获取对象内的键。
Object.keys(myObj.in.here)
上面的代码会给你预期的结果。
这是一个使用 for
循环的简单解决方案。原始代码见this question。
var extracted = [];
for (var p in myObj.xin.here) {
if (myObj.xin.here.hasOwnProperty(p) && p.indexOf("image") > -1) {
extracted.push(p);
}
}