javascript - 如何只显示前 2 个对象 (javascript)

标签 javascript arrays javascript-objects

我有一个包含数组的对象。这是它在我的浏览器中的样子的图像:

Here is what it looks like in my browser

例如,我只需要显示前 2 个数组。 到目前为止,我已经尝试过了

var size = 2;
var sliced = joblist.slice(0, size);

但是,这不起作用,我收到以下消息

error:slice is not a function. it doesn't have a length

有人可以帮助我了解我做错了什么吗?

最佳答案

虽然对象中的键没有顺序,但您可以获取键,对它们进行排序,然后为新对象取前两个键。

var joblist = {
        '2017-08-08': [1],
        '2017-08-09': [2],
        '2017-08-10': [3, 4, 5],
        '2017-08-11': [6]
    },
    size = 2,
    topObjects = Object.assign(
        ...Object
        .keys(joblist)
        .sort()
        .slice(0, size)
        .map(k => ({ [k]: joblist[k] }))
    );

console.log(topObjects);

关于javascript - 如何只显示前 2 个对象 (javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45628435/

相关文章:

c - 确定存储指向其他不同维度数组的指针的数组的类型

javascript - 将空格替换为逗号

javascript - 如何在单击其子元素时删除 li

c++ - QString 内部的 Qt QVarLengthArray

arrays - 如何在 Scala 中获取数组列表中两个元素的总和

javascript - 转换 javascript 对象列表

javascript - 使用对象而不是 bool 更改应用程序流

javascript - 创建要在其他函数中使用的全局变量

javascript - 动态生成的方法

javascript - JS 中数组表单元素验证