有一个数组[{jk3u:{{name:55,value:0}},{jj:{{name:55,value:0}},{yy:{{name:55,value:1}}],用js函数判断数组里面最后一项属性value为0的数组下标并返回
时间: 2023-11-01 08:33:35 浏览: 81
js获取数组的最后一个元素
首先需要修正一下数组的格式,使其符合JavaScript中的对象格式。以下是修正后的数组:
```javascript
const arr = [
{ jk3u: { name: 55, value: 0 } },
{ jj: { name: 55, value: 0 } },
{ yy: { name: 55, value: 1 } }
];
```
接下来可以使用与上一个问题类似的方法来查找数组中最后一个属性`value`为0的元素,并返回其索引。具体实现如下:
```javascript
const lastZero = arr.slice().reverse().findIndex(item => {
const values = Object.values(item);
return values.length && values[0].value === 0;
});
const lastZeroIndex = lastZero >= 0 ? arr.length - 1 - lastZero : -1;
console.log(lastZeroIndex);
```
代码解释:
1. `Object.values(item)`:由于每个元素都是一个对象,需要使用`Object.values()`方法获取对象的值,即`[{ name: 55, value: 0 }]`。
2. `values.length && values[0].value === 0`:检查值数组的长度是否为0,如果不为0,则判断第一个值对象的`value`属性是否等于0。
3. 最后输出找到的索引值,如果未找到则输出-1。
阅读全文