[javascript] 숫자 키가있는 JavaScript 객체를 배열로 변환
서버에서 JSON 응답으로 다시 오는 이와 같은 객체가 있습니다.
{"0":"1","1":"2","2":"3","3":"4"}
다음과 같이 JavaScript 배열로 변환하고 싶습니다.
["1","2","3","4"]
가장 좋은 방법이 있습니까? 내가 읽는 곳마다 사람들은 루프를 사용하여 복잡한 논리를 사용하고 있습니다. 이 작업을 수행하는 다른 방법이 있습니까?
답변
실제로 jQuery와 매우 직설적입니다. $.map
var arr = $.map(obj, function(el) { return el });
jQuery를 사용하지 않고도 키를 배열로 변환 한 다음 값을 다시 매핑하면 거의 쉽게 Array.map
var arr = Object.keys(obj).map(function(k) { return obj[k] });
그것은 이미 자바 스크립트 객체로 구문 분석되었으며 실제로 문자열 형식 인 JSON이 아니라고 가정합니다.이 경우 실행 JSON.parse
도 필요합니다.
ES2015에는 Object.values
구조가있어 바람이 불고 있습니다.
var arr = Object.values(obj);
답변
var json = '{"0":"1","1":"2","2":"3","3":"4"}';
var parsed = JSON.parse(json);
var arr = [];
for(var x in parsed){
arr.push(parsed[x]);
}
이것이 당신이 추구하는 것이기를 바랍니다!
답변
당신은 단순히 그것을 좋아합니다
var data = {
"0": "1",
"1": "2",
"2": "3",
"3": "4"
};
var arr = [];
for (var prop in data) {
arr.push(data[prop]);
}
console.log(arr);
답변
“JSON 객체”와 같은 것은 없습니다. JSON은 직렬화 표기법입니다.
자바 스크립트 객체 를 자바 스크립트 배열 로 변환 하려면 자신 만의 루프를 작성하거나 (복잡하지는 않습니다!) underscore.js _.toArray()
메소드를 사용합니다.
var obj = {"0":"1","1":"2","2":"3","3":"4"};
var yourArray = _(obj).toArray();
답변
여기서 어려운 것은 없습니다. 객체 요소를 반복하여 배열에 할당
var obj = {"0":"1","1":"2","2":"3","3":"4"};
var arr = [];
for (elem in obj) {
arr.push(obj[elem]);
}
답변
var JsonObj = {
"0": "1",
"1": "2",
"2": "3",
"3": "4"
};
var array = [];
for (var i in JsonObj) {
if (JsonObj.hasOwnProperty(i) && !isNaN(+i)) {
array[+i] = JsonObj[i];
}
}
console.log(array)
답변
이 시도:
var newArr = [];
$.each(JSONObject.results.bindings, function(i, obj) {
newArr.push([obj.value]);
});