当前位置:  开发笔记 > 编程语言 > 正文

JavaScript数组对象?

如何解决《JavaScript数组对象?》经验,为你挑选了1个好方法。

编写一个名为"convertObjectToList"的函数,它将对象文字转换为数组数组,如下所示:参数:

{
  name: 'Holly',
  age: 35,
  role: 'producer'
}

返回值:

[['name', 'Holly'], ['age', 35], ['role', 'producer']]

请注意,您的函数应该能够处理这样的任何对象,而不仅仅是上面提供的确切示例.

例如,它也应该能够处理这个或任何其他包含简单键值对的对象.

{
  species: 'canine',
  name: 'Bowser',
  weight: 45
}

我试图获取一个对象的大小,然后通过在for循环中一次分配一个数组[数字]一个值和一个键,将它变成一个数组,当我调用sizex时,你能告诉我如何做到这一点吗( OBJ1); 我得到3,但是当我调用convertObjectToList(obj1)时; 我得到空数组:[].

我在大约10天前接过JS,由于我正处于学习过程中,有些任务仍然有点令人困惑.欢迎任何帮助.

这是我现在的代码:

var names = [];
var values = [];

var sizex = function(obj) {
    var num = 0;
    var lol;
    for (lol in obj) {
        if (obj.hasOwnProperty(lol)) num++;
    }
    return num;
};

function convertObjectToList(obj) {
    // your code here



    for (j = 0; j < sizex; j++) {

        for (var name in obj) {
            names[j] = name;

            values[j] = obj[name];
        }
    }
    return names.concat(values);
}


var obj1 = {
    name: 'Holly',
    age: 35,
    role: 'producer'
}

sizex(obj1);
convertObjectToList(obj1);

谢谢大家,两个代码都工作,第二个代码更简单,但网站给了我一个错误说"converters_some_other_data = false",第一个代码完全工作.再次感谢.



1> Nenad Vracar..:

你可以用Object.keys()和做map()

var data = { name: 'Holly', age: 35, role: 'producer' }

function toArray(obj) {
  return Object.keys(obj).map(e => [e, obj[e]])
}

console.log(toArray(data))
推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有