теперь я хочу создать метод setUsers, который принимает объект пары ключ/значение и инициализирует переменную user.
setUsers = function(data) {
// loop and init user
}
где данные:
234: "john", 23421: "smith", ....
Ответ 1
Остерегайтесь свойств, унаследованных от прототипа объекта (это может произойти, если вы включаете в себя какие-либо библиотеки на вашей странице, например, старые версии Prototype). Вы можете проверить это, используя метод объекта hasOwnProperty(). Как правило, это хорошая идея при использовании циклов for...in:
var user = {};
function setUsers(data) {
for (var k in data) {
if (data.hasOwnProperty(k)) {
user[k] = data[k];
}
}
}
Ответ 2
for (var key in data) {
alert("User " + data[key] + " is #" + key); // "User john is #234"
}
Ответ 3
Что-то вроде этого:
setUsers = function (data) {
for (k in data) {
user[k] = data[k];
}
}