2015-09-07 4 views
0

У меня есть только этот массив:JavaScript Еогеасп массив Key Value

var sArray = {856:"users", 857:"avatars", 858:"emails"}; 

и я хочу использовать forEach таким образом, чтобы получить ключ и значение от:

key = 856 
value = user 

Мой $.each код Безразлично» t возвращаю результат, которого я ожидаю, и вместо этого получаю:

856:user 

Я должен быть отдельным, что w с :, чтобы получить ключ и значение из этого массива.

Мой код:

$.each(template_array, function(key, value) { 
    console.log("key: " + "value: " + value); 
}); 

Как получить доступ ключ и значение без отдельного?

+0

Вы ' "значение:" + value', почему не' "ключ:" + key' – Shanimal

+0

Я думаю, что проблема заключается в вашем array, это точный код, который вы используете? – madforstrength

ответ

0

Просто возьмите Object.keys для ключей и Array.prototype.forEach для значений в простом Javascript.

var sArray = { 856: 'users', 857: 'avatars', 858: 'emails'}; 
 

 
Object.keys(sArray).forEach(function (key) { 
 
    document.write('key: ' + key + ', value: ' + sArray[key] + '<br>'); 
 
});

0

Просто сцепить их с помощью +

var template_array = { 
 
    856: 'users', 
 
    857: 'avatars', 
 
    858: 'emails' 
 
}; 
 
$.each(template_array, function(key, value) { 
 
    console.log('key:' + key + ', value:' + value); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

UPDATE: Я думаю, что у вас есть массив, то используйте следующий код

var template_array = ['856: users', 
 
    '857: avatars', 
 
    '858: emails' 
 
]; 
 

 
template_array.forEach(function(v) { 
 
    v = v.split(':'); 
 
    console.log('key:' + v[0] + ', value:' + v[1]); 
 
});

+0

результат: «0: 856: пользователи 1: 857: аватары 2: 858: адреса электронной почты« Я хочу иметь ключ »: 856, значение: неверно ваш код –

+0

@mahdipishguy: обновлено –

+0

Неправильно сэр. 'key: 0, value: 856: users' –

0

попробовать это один

var template_array = { 
    856: 'users', 
    857: 'avatars', 
    858: 'emails' 
}; 
var date = []; 
$.each(template_array,function (key , val){ 
    date.push({key:key, value:val}) 
}); 

console.log(date) 
+0

@mahdi pishguy: попробуйте этот –

Смежные вопросы