var person,
property,
count,
wantedProperties;
person = {
firstName: "John",
lastName: "Smith",
profession: "Lawyer",
age: 31,
eyeColor: "blue",
hairColor: "blonde"
};
count = 1;
wantedProperties = [2,4];
for (prop in person) {
if (inArray(count, wantedProperties)) {
console.log(prop);
}
count++;
}
function inArray(needle, haystack) {
var length = haystack.length;
for(var i = 0; i < length; i++) {
if(haystack[i] == needle) return true;
}
return false;
}
助手功能inArray是必要的,因爲wantedProperties.indexOf(計數)不工作因爲wantedProperties是一個int數組。
此外,它是醜陋的,它不是零基於。您可能想要重構代碼,但我希望儘可能讀得清楚。
如果要記錄的屬性的值,改變console.log(prop);
到console.log(person[prop]);
你想要的第二和第四財產,無論它是什麼性質?或者你想要姓氏和年齡? – Argee
我想要第二個和第四個屬性,不管那個屬性是什麼。我知道例如「person.age」的方式,但我需要用for-in循環和if-else來完成 – Desislava