javascript - JavaScript:获取数组中一项的索引,并计算如果数组反转,相同项的索引是多少?
问题描述
设置
我有一个名为 Elements 的对象数组。它们在视觉上像 Photoshop 文档中的图层一样布局。为简洁起见,我已经从每个元素中删除了大部分数据。但是每个元素的数据都会发生变化,因为它们都是不同的。
elements = [
{
name: 'First Piece',
},
{
name: 'Second',
},
{
name: 'Third',
},
{
name: 'Fourth', // is selected
},
{
name: 'Fifth',
},
]
我使用所选项目的索引来跟踪在对象中选择了哪个元素。我使用索引是因为它在任何给定时间或元素被表示的地方总是可供我使用。该对象看起来像这样,没有不相关的数据:
selected = {
element: 3,
}
这一切都很好。
问题
问题在于可以被认为是我的图层面板。当元素在“画布”上时,它们的顺序正确,每个元素都具有更高的 z-index。但是在图层面板中,我必须反转数组,以便它在视觉上有意义。所以“第五”元素在顶部。
问题是当我需要获取 selected 的值并将其应用于反转元素数组时。
elementsReversed = [
{
name: 'Fifth',
},
{
name: 'Fourth', // this should be selected
},
{
name: 'Third',
},
{
name: 'Second', // would be selected
},
{
name: 'First Piece',
},
]
我不能使用 .findIndex() 因为名称可以设置为相同的值(出于某种原因),并且实际上没有其他属性可以用来搜索反向数组并以这种方式查找索引。我试图避免向我的对象添加另一个键/值对,例如 ID。
有没有办法做到这一点?我只是一个笨蛋吗?
谢谢你。
解决方案
推荐阅读
- c - 从 Wavefront .obj 文件中提取人脸顶点索引
- react-native - 如何在 RSA 加密中使用密钥文件作为公钥?
- java - 长文本不使用 android 中的 AutoCompleteTextView 拆分为多行
- javascript - 如何在聚合阶段之后使用条件限制 MongoDB 结果
- flutter - 无法在设备内部存储中创建目录 - Flutter
- reactjs - 有没有办法让 React-native 插值动画更平滑?
- spring-data-elasticsearch - 如何在spring data elasticsearch中使用function_score处理查询
- r - 如何获得 R 中 ntile 函数给出的边界值?
- php - 我如何排序这个 json 嵌套数据升序到商店 id
- php - Eloquent:count():参数必须是数组或者实现了Countable的对象