首页 > 解决方案 > 基于内部对象属性值的数组操作?

问题描述

我正在使用 wordpressAPI 来检索信息并将其显示在 javascript 应用程序中。我想知道根据返回对象中的数据操作数组的正确方法。例如:

我得到的数据是一个包含 3 个对象的数组:

data = [{...}, {...}, {...}]

对象包含以下数据:

{ id: 1234, slug: 'slug-name', status: 'published' }

..以及更多。但我想知道的是如何遍历每个对象并检查 slug === 'slug-name-2' 如果是,我想将整个对象及其所有信息移动到数据数组的开头。

标签: javascriptarraysjavascript-objects

解决方案


这是一种方法

//find index of the slug-name-2
let index = data.findIndex((x => x.slug === 'slug-name-2');
//get object
let slug = data[index];
//remove from current location
data.splice(index)
//add it to the beginning
data.unshift(slug);

我敢肯定,人们可以想出 100 多种方法,或许还有更有效的方法。

看看Array.Prototype 方法,那里有很多,您可以使用少数几种方法的组合并以多种方式操作数组。


推荐阅读