Получить значения объекта без цикла У меня есть следующий объект: var input = { 'foo': 2, 'bar': 6, 'baz': 4 }; Можно ли получать значения из этого объекта без его циклирования? Можно использовать jQuery. Ожидаемый результат: var output = [2, 6, 4]; Ответ 1 var arr = $.map(input,function(v){ return v; }); Демо --> http://jsfiddle.net/CPM4M/ Ответ 2 Это просто невозможно без цикла. Нет метода Object.values() (пока), чтобы дополнить Object.keys(). До тех пор вы в основном "застреваете" с приведенной ниже конструкцией: var values = []; for (var k in input) { if (input.hasOwnProperty(k)) { values.push(input[k]); } } Или, в современных браузерах (но, конечно, все еще используя цикл и анонимный вызов функции): var values = Object.getOwnPropertyNames(input).map(function(key) { return input[key]; }); Ответ 3 Я не знаю, почему вы хотите без цикла. здесь мое решение JSON.stringify( input ).replace(/"(.*?)"\:|\{|\}/g,'' ).split(',') напечатайте [2, 6, 4]. Я не тестировал другие значения json Ответ 4 Вы можете получить значения из этого объекта без цикла с помощью Object.values(), например: var output = Object.values( input ); console.log( output ); // [2, 6, 4] DEMO: var input = { 'foo': 2, 'bar': 6, 'baz': 4 }; var output = Object.values( input ); console.log( output ); Ответ 5 var input = { 'foo': 2, 'bar': 6, 'baz': 4 }; var newArr = new Array; $.each(input,function(key,value) { newArr.push(value); }); alert(newArr)
Ответ 2 Это просто невозможно без цикла. Нет метода Object.values() (пока), чтобы дополнить Object.keys(). До тех пор вы в основном "застреваете" с приведенной ниже конструкцией: var values = []; for (var k in input) { if (input.hasOwnProperty(k)) { values.push(input[k]); } } Или, в современных браузерах (но, конечно, все еще используя цикл и анонимный вызов функции): var values = Object.getOwnPropertyNames(input).map(function(key) { return input[key]; });
Ответ 3 Я не знаю, почему вы хотите без цикла. здесь мое решение JSON.stringify( input ).replace(/"(.*?)"\:|\{|\}/g,'' ).split(',') напечатайте [2, 6, 4]. Я не тестировал другие значения json
Ответ 4 Вы можете получить значения из этого объекта без цикла с помощью Object.values(), например: var output = Object.values( input ); console.log( output ); // [2, 6, 4] DEMO: var input = { 'foo': 2, 'bar': 6, 'baz': 4 }; var output = Object.values( input ); console.log( output );
Ответ 5 var input = { 'foo': 2, 'bar': 6, 'baz': 4 }; var newArr = new Array; $.each(input,function(key,value) { newArr.push(value); }); alert(newArr)