nesneleri göster (dizi yerine)
Bir nesne var:
myObject = { 'a': 1, 'b': 2, 'c': 3 }
Doğal bir yöntem, aşağıdaki gibidir: kullanılan Array.prototype.map benzer arıyorum
newObject = myObject.map(function (value, label) {
return value * value;
});
// newObject is now { 'a': 1, 'b': 4, 'c': 9 }
JavaScript nesneleri map böyle bir işlevi var mı? (Node.JS yani çapraz tarayıcı sorunları hakkında umurumda değil bunu istiyorum.)
CEVAP
Yerli Object nesne map yok, ama buna ne demeli
Object.keys(myObject).map(function(value, index) {
myObject[value] *= 2;
});
console.log(myObject);
// => { 'a': 2, 'b': 4, 'c': 6 }
Ama kolayca bir nesne for ... in kullanarak üzerinde yineleme.
for(var key in myObject) {
if(myObject.hasOwnProperty(key)) {
myObject[key] *= 2;
}
}
Güncelleme
Bir çok insan önceki yöntemler yeni bir nesne döndüren bir söz vardır, ancak bunun yerine bir nesne üzerinde işlem kendisi. Bu konuda olduğu gibi yeni bir nesne döndürür ve özgün nesne bırakan başka bir çözüm eklemek istedim:
var newObject = Object.keys(myObject).reduce(function(previous, current) {
previous[current] = myObject[current] * myObject[current];
return previous;
}, {});
console.log(newObject);
// => { 'a': 1, 'b': 4, 'c': 9 }
console.log(myObject);
// => { 'a': 1, 'b': 2, 'c': 3 }
Array.prototype.reduce akıntıyla biraz önceki değerini birleştirerek tek bir değer için bir dizi azaltır. Zinciri boş bir nesne {} tarafından başlatıldı. Her yineleme üzerinde myObject yeni bir anahtar olarak değer yerlere eklenir.

Nasıl Javascript Nesneleri bir Dizi kl...
Automapper - nasıl göster özelliği bel...
Orada Göster<dizi için iyi bir yold...
Python string.(liste) dizisi yerine st...
java.net.URLEncoder.kodlama(Dizi), ben...