몇 가지 테스트 후 다음은 일반적인 객체 대 배열 함수 변환기입니다.
당신은 객체가 있습니다 :
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);
당신은 얻는다 :
arr {
key: [
"some_key_1",
"some_key_2"
],
value: [
"some_value_1",
"some_value_2"
],
length: 2
}
그러면 다음과 같은 모든 키와 값에 도달 할 수 있습니다.
for (var i = 0; i < arr.length; i++)
{
console.log(arr.key[i] + " = " + arr.value[i]);
}
콘솔 결과 :
some_key_1 = some_value_1
some_key_2 = some_value_2
편집하다:
또는 프로토 타입 형태로 :
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);