我有一个看起来像这样的对象:
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' ...]
如何找到那些编号的键,当不知道它们中有多少时。它们也可以是无序的。 (例如图像2缺失)
答案 0 :(得分:1)
这是使用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);
}
}
答案 1 :(得分:0)
您可以使用Object方法Object.keys()
来获取对象内的键。
Object.keys(myObj.in.here)
上面的代码会给你预期的结果。