将对象文字表示法转换为数组

时间:2021-02-12 21:20:58

I used a literal as a dictionary, but a third party binding tool only takes arrays.

我使用文字作为字典,但第三方绑定工具只接受数组。

This is one way, is there a better one?

这是一种方式,有更好的方法吗?

var arr = [];
$.each(objectLiteral, function () { arr.push(this); });

3 个解决方案

#1


9  

I think there is nothing wrong with your solution.

我认为您的解决方案没有任何问题。

This is a shorter one:

这是一个较短的一个:

var arr = $.map(objectLiteral, function (value) { return value; });

#2


7  

Your method is fine, clear and readable. To do it without jQuery, use the for (..in..) syntax:

你的方法很好,清晰可读。要在没有jQuery的情况下执行此操作,请使用for(.. in ..)语法:

var arr = [];
for (prop in objectLiteral) {
  arr.push(objectLiteral[prop]);
}

#3


2  

In vanilla JS...

在香草JS ...

If we want to convert an object literal

如果我们想要转换对象文字

var obj = {
 species: 'canine',
 name: 'Charlie',
 age: 4
}

into an array of arrays

进入一个数组数组

[['species', 'canine'], ['name', 'Charlie'], ['age', 4]]

here is one way

这是一种方式

function objToArr(obj){
  var arr = [];

  for (var key in obj){
    arr.push([key, obj[key]]);
  }
  return arr;
}

#1


9  

I think there is nothing wrong with your solution.

我认为您的解决方案没有任何问题。

This is a shorter one:

这是一个较短的一个:

var arr = $.map(objectLiteral, function (value) { return value; });

#2


7  

Your method is fine, clear and readable. To do it without jQuery, use the for (..in..) syntax:

你的方法很好,清晰可读。要在没有jQuery的情况下执行此操作,请使用for(.. in ..)语法:

var arr = [];
for (prop in objectLiteral) {
  arr.push(objectLiteral[prop]);
}

#3


2  

In vanilla JS...

在香草JS ...

If we want to convert an object literal

如果我们想要转换对象文字

var obj = {
 species: 'canine',
 name: 'Charlie',
 age: 4
}

into an array of arrays

进入一个数组数组

[['species', 'canine'], ['name', 'Charlie'], ['age', 4]]

here is one way

这是一种方式

function objToArr(obj){
  var arr = [];

  for (var key in obj){
    arr.push([key, obj[key]]);
  }
  return arr;
}