[JQUERY] jQuery를 사용한 배열에 JS 객체 변환
JQUERYjQuery를 사용한 배열에 JS 객체 변환
해결법
-
1.
var myObj = { 1: [1, 2, 3], 2: [4, 5, 6] }; var array = $.map(myObj, function(value, index) { return [value]; }); console.log(array);
산출:
[[1, 2, 3], [4, 5, 6]]
-
2.경우에 당신은 기능적 접근 방식을 찾고 있습니다 :
경우에 당신은 기능적 접근 방식을 찾고 있습니다 :
var obj = {1: 11, 2: 22}; var arr = Object.keys(obj).map(function (key) { return obj[key]; });
결과 :
[11, 22]
ES6 화살표 함수와 동일 :
Object.keys(obj).map(key => obj[key])
ES7으로 대신 (자세한 정보) Object.values 사용할 수 있습니다 :
var arr = Object.values(obj);
아니면 이미 밑줄 / 소호 - 대시를 사용하는 경우 :
var arr = _.values(obj)
-
3.속성이 상속되지 않은 경우 당신이뿐만 확인하기 위해 사용할 수있을 것 같아요
속성이 상속되지 않은 경우 당신이뿐만 확인하기 위해 사용할 수있을 것 같아요
myObj= {1:[Array-Data], 2:[Array-Data]} var arr =[]; for( var i in myObj ) { if (myObj.hasOwnProperty(i)){ arr.push(myObj[i]); } }
편집 - 당신은 또한 객체의 인덱스를 유지할 수 싶지만, 당신은 그들이 숫자이다 (당신은 인덱스 누락 된 정의되지 않은 값을 얻을 수 있는지 확인해야하는 경우 :
function isNumber(n) { return !isNaN(parseFloat(n)) && isFinite(n); } myObj= {1:[1,2], 2:[3,4]} var arr =[]; for( var i in myObj ) { if (myObj.hasOwnProperty(i)){ if (isNumber(i)){ arr[i] = myObj[i]; }else{ arr.push(myObj[i]); } } }
-
4.간단하게 할
간단하게 할
Object.values(obj);
그게 다야!
-
5.당신은 최대 인덱스를 알고 있다면 당신은 당신이 다음을 할 수있는 객체에 :
당신은 최대 인덱스를 알고 있다면 당신은 당신이 다음을 할 수있는 객체에 :
VAR myObj로 = { 1 : 'C', 'D', 2 : 'A', 'B'] }, 인 myArr; myObj.length = 3; // 최대 인덱스 + 1 인 myArr = Array.prototype.slice.apply (myObj로); CONSOLE.LOG (인 myArr); // [미정 [ 'C', 'D'], [ 'A', 'B']
-
6.ES5 Object.keys ()는 물체에 직접 정의 된 속성을 포함하는 배열을 반환한다 (prototype 체인에 정의 된 특성을 제외) :
ES5 Object.keys ()는 물체에 직접 정의 된 속성을 포함하는 배열을 반환한다 (prototype 체인에 정의 된 특성을 제외) :
Object.keys(yourObject).map(function(key){ return yourObject[key] });
ES6 화살표 기능이 한 단계를 취
Object.keys(yourObject).map(key => yourObject[key]);
-
7.요즘,이 작업을 수행 할 수있는 간단한 방법이있다 : Object.values ().
요즘,이 작업을 수행 할 수있는 간단한 방법이있다 : Object.values ().
var myObj = { 1: [1, 2, 3], 2: [4, 5, 6] }; console.log(Object.values(myObj));
산출:
[[1, 2, 3], [4, 5, 6]]
이것은, jQuery를 요구하지 않습니다 그것은 ECMAScript를 2017에 정의되어 있습니다. 그것은 모든 현대적인 브라우저 (IE를 잊지)에 의해 지원합니다.
-
8.가장 좋은 방법은 자바 스크립트를 전용 기능을 사용하는 것입니다 :
가장 좋은 방법은 자바 스크립트를 전용 기능을 사용하는 것입니다 :
var myArr = Array.prototype.slice.call(myObj, 0);
-
9.
x = []; for( var i in myObj ) { x[i] = myObj[i]; }
-
10.ECMA 스크립트 5 :
ECMA 스크립트 5 :
Object.keys(myObj).map(function(x) { return myObj[x]; })
ECMA 스크립트 2015 또는 ES6 :
Object.keys(myObj).map(x => myObj[x])
-
11.어떻게 jQuery.makeArray에 대한 (OBJ)
어떻게 jQuery.makeArray에 대한 (OBJ)
이것은 내가 내 응용 프로그램에서했던 방법이다.
-
12.ES8 방법은 간단했다 :
ES8 방법은 간단했다 :
공식 문서
CONST (OBJ) = {X 'XXX', Y : 1}; 편곡 = Object.values (OBJ)를 보자; // [ 'xxx'가 1] CONSOLE.LOG (도착);
-
13.문제점을 해결하기는 매우 간단합니다
문제점을 해결하기는 매우 간단합니다
var my_obj = {1:[Array-Data], 2:[Array-Data]} Object.keys(my_obj).map(function(property_name){ return my_obj[property_name]; });
-
14.바이올린 데모
바이올린 데모
확장 bjornd의 대답.
var myObj = { 1: [1, [2], 3], 2: [4, 5, [6]] }, count = 0, i; //count the JavaScript object length supporting IE < 9 also for (i in myObj) { if (myObj.hasOwnProperty(i)) { count++; } } //count = Object.keys(myObj).length;// but not support IE < 9 myObj.length = count + 1; //max index + 1 myArr = Array.prototype.slice.apply(myObj); console.log(myArr);
참고
Array.prototype.slice ()
Function.prototype.apply의 ()
Object.prototype.hasOwnProperty ()
Object.keys ()
-
15.당신은 값으로 개체의 속성의 이름을 유지합니다. 예:
당신은 값으로 개체의 속성의 이름을 유지합니다. 예:
var fields = { Name: { type: 'string', maxLength: 50 }, Age: { type: 'number', minValue: 0 } }
사용 Object.keys (), Array.map ()와 Object.assign () :
var columns = Object.keys( fields ).map( p => Object.assign( fields[p], {field:p} ) )
결과:
[ { field: 'Name', type: 'string', maxLength: 50 }, { field: 'Age', type: 'number', minValue: 0 } ]
설명:
Object.keys () 소스의 모든 속성을 열거; () .MAP 각 속성에 => 함수를 적용 배열을 반환 Object.assign () 병합 이름과 각 속성에 대한 값입니다.
-
16.나는 사용자 정의 기능을했다 :
나는 사용자 정의 기능을했다 :
Object.prototype.toArray=function(){ var arr=new Array(); for( var i in this ) { if (this.hasOwnProperty(i)){ arr.push(this[i]); } } return arr; };
-
17.몇몇 시험 후, 여기에 함수 배열 변환기에 대한 일반적인 목적은 :
몇몇 시험 후, 여기에 함수 배열 변환기에 대한 일반적인 목적은 :
당신은 개체가 :
var obj = { some_key_1: "some_value_1" some_key_2: "some_value_2" };
함수:
function ObjectToArray(o) { var k = Object.getOwnPropertyNames(o); var v = Object.values(o); var c = function(l) { this.k = []; this.v = []; this.length = l; }; var r = new c(k.length); for (var i = 0; i < k.length; i++) { r.k[i] = k[i]; r.v[i] = v[i]; } return r; }
기능 사용 :
var arr = ObjectToArray(obj);
당신이 얻을 :
그래서 다음과 같은 모든 키 및 값에 도달 할 수 있습니다 :
for (var i = 0; i < arr.length; i++) { console.log(arr.key[i] + " = " + arr.value[i]); }
콘솔에서 결과 :
편집하다:
또는 프로토 타입 형태 :
Object.prototype.objectToArray = function() { if ( typeof this != 'object' || typeof this.length != "undefined" ) { return false; } var k = Object.getOwnPropertyNames(this); var v = Object.values(this); var c = function(l) { this.k = []; this.v = []; this.length = l; }; var r = new c(k.length); for (var i = 0; i < k.length; i++) { r.k[i] = k[i]; r.v[i] = v[i]; } return r; };
그리고 다음과 같이 사용합니다 :
console.log(obj.objectToArray);
-
18.당신은 배열로 객체의 변환을 할 수있는 간단한 함수를 만들 수 있습니다,이 같은 당신이 순수 자바 스크립트를 사용하는 작업을 수행 할 수 있습니다
당신은 배열로 객체의 변환을 할 수있는 간단한 함수를 만들 수 있습니다,이 같은 당신이 순수 자바 스크립트를 사용하는 작업을 수행 할 수 있습니다
var objectToArray = function(obj) { var arr = []; if ('object' !== typeof obj || 'undefined' === typeof obj || Array.isArray(obj)) { return obj; } else { Object.keys(obj).map(x=>arr.push(obj[x])); } return arr; };
또는이 하나
var objectToArray = function(obj) { var arr =[]; for(let o in obj) { if (obj.hasOwnProperty(o)) { arr.push(obj[o]); } } return arr; };
및 전화 아래와 같은 기능을 사용할 수 :
var obj = {1:'a', 2:'b', 3:'c', 4:'d', 5:'e'}; objectToArray(obj); // return ["a", "b", "c", "d", "e"]
또한 미래에 우리는 배열로 당신을 위해 모든 속성을 반환합니다 Object.keys (OBJ)과 비슷한 Object.values라고 (OBJ)를해야하지만 아직 많은 브라우저에서 지원되지 ...
from https://stackoverflow.com/questions/6857468/converting-a-js-object-to-an-array-using-jquery by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] 자바 스크립트 그래프 시각화 라이브러리 (0) | 2020.09.26 |
---|---|
[JQUERY] 지역 JSON 파일로드 (0) | 2020.09.26 |
[JQUERY] jQuery를 사용하여 이미지 소스 변경 (0) | 2020.09.26 |
[JQUERY] 동적 높이 폭 (CSS 레이아웃 유체) 중복]이면 (0) | 2020.09.26 |
[JQUERY] 의 contentEditable 변경 이벤트 (0) | 2020.09.26 |