有一个数组[{name:55,value:0},{name:55,value:0},{name:55,value:1},{name:55,value:1},{name:55,value:1}],用js函数判断数组里面最后一个为0的数组下标并返回
时间: 2024-03-26 09:39:07 浏览: 20
可以使用以下代码实现:
```javascript
function findLastIndex(arr) {
for (let i = arr.length - 1; i >= 0; i--) {
if (arr[i].value === 0) {
return i;
}
}
return -1; // 如果数组中没有值为0的元素,返回-1
}
```
使用示例:
```javascript
const arr = [{name:55,value:0},{name:55,value:0},{name:55,value:1},{name:55,value:1},{name:55,value:1}];
const lastIndex = findLastIndex(arr);
console.log(lastIndex); // 输出1
```
这个函数会从数组末尾开始遍历,找到第一个值为0的元素并返回其下标。如果数组中没有值为0的元素,则返回-1。
相关问题
有一个数组[{name:55,value:0},{name:55,value:0},{name:55,value:1},{name:55,value:1},{name:55,value:1}],用js函数判断数组里面最后一项属性value为0的数组下标并返回
可以使用以下代码实现:
```javascript
function findLastIndex(arr) {
for (let i = arr.length - 1; i >= 0; i--) {
if (arr[i].value === 0) {
return i;
}
}
return -1; // 如果数组中没有值为0的元素,返回-1
}
```
使用示例:
```javascript
const arr = [{name:55,value:0},{name:55,value:0},{name:55,value:1},{name:55,value:1},{name:55,value:1}];
const lastIndex = findLastIndex(arr);
console.log(lastIndex); // 输出1
```
这个函数会从数组末尾开始遍历,找到第一个属性value为0的元素并返回其下标。如果数组中没有属性value为0的元素,则返回-1。
有一个数组[{jk3u:{}{name:55,value:0},{name:55,value:0},{name:55,value:1},{name:55,value:1},{name:55,value:1}],用js函数判断数组里面最后一项属性value为0的数组下标并返回
可以使用JavaScript中的`Array.prototype.findIndex()`方法来查找数组中符合条件的元素,并返回其索引。具体实现可以参考以下代码:
```javascript
const arr = [{jk3u:{}},{name:55,value:0},{name:55,value:0},{name:55,value:1},{name:55,value:1},{name:55,value:1}];
const lastZero = arr.slice().reverse().findIndex(item => item.value === 0);
const lastZeroIndex = lastZero >= 0 ? arr.length - 1 - lastZero : -1;
console.log(lastZeroIndex);
```
代码解释:
1. `arr.slice().reverse()`:先复制数组并反转,这样可以从后往前查找最后一个符合条件的元素。
2. `findIndex(item => item.value === 0)`:查找数组中属性`value`等于0的元素,并返回其索引(从后往前计数)。
3. `arr.length - 1 - lastZero`:由于上一步返回的是从后往前的索引,需要将其转换为从前往后的索引。
4. 最后输出找到的索引值,如果未找到则输出-1。