javascript - 在javascript对象上使用切片来循环除前两个之外的所有元素?
问题描述
我有一个对象的对象,我想使用 v-for 循环遍历除前两个对象之外的所有对象,遗憾的是我不能使用切片,因为它仅用于数组,是否可以删除第一个使用javascript而不创建新对象的对象的两个元素
我的对象是这样的:
{
First: { },
Second: { },
Third: { }
}
解决方案
JS 对象不会像数组那样存储元素的顺序。在一般情况下,没有特定键值对的顺序之类的东西。但是,您可以使用一些实用程序库(例如下划线https://underscorejs.org/#pairs )遍历对象值,或者您可以只使用原始 js 来执行以下操作:
// this will convert your object to an array of values with arbitrary order
Object.keys(obj).map(key => obj[key])
// this will sort keys alphabetically
Object.keys(obj).sort().map(key => obj[key])
请注意,某些浏览器在调用时可以保留键的顺序,Object.keys()
但您不应该依赖它,因为它不能保证。我建议只使用对象数组来确保这样的顺序:
[{ key: "First", value: 1 }, { key: "Second", value: 2}]
推荐阅读
- javascript - 如何对齐文本和输入?
- c++ - 继承函数是否适用于 C++ 中的基类元素或派生类元素?
- c++ - 链接器 /delayload 不能完全使用 winhttp.dll
- autodesk-forge - 如何从对象获取坐标即顶点
- python - 实现中序遍历时的NameError
- python - 生物信息学:将列表项与字典键匹配并打印匹配的键
- .net - VB.NET 如何在类的文档中添加新行
- azure - Terraform 使用 Azure 服务主体进行身份验证失败
- mysql - 连接到现有数据库 - node.js
- r - 整洁的功能不适用于 USAboundaries shapefile 数据