如何在不使用方法.length的情况下计算数组中的元素数量

问题描述 投票:0回答:5

函数 addValue(arr, value){

arr.push(值)

返回...

}

console.log(addValue([1, 2, 3], 10)); // 4 不使用 .length

javascript arrays methods count counter
5个回答
2
投票

Array#push
返回数组的新长度。

function addValue(arr, value) {
    return arr.push(value);
}

console.log(addValue([1, 2, 3], 10)); // 4 without using .length


1
投票

尝试这个纯javascript返回不带.length的数组长度

var a = [1,2,3,4,5];

function arrayLength(a){
  var length = 0;
  while(a[length]!==undefined){
    length++;
  }
  return length;
}

console.log(arrayLength(a));       // 5

0
投票
function addValue(arr, value){

arr.push(value)
var count=0;
arr.forEach(a=>{
count++;})
return count

}

console.log(addValue([1, 2, 3], 10)); 

0
投票

如果你不想使用.length,那么你可以通过手动计数来创建自己的长度变量

function addValue(arr, value){

    arr.push(value)

    return ( ()=> {
         var mylength=0
         for(var k in a) mylength+=1
         return mylength
    } )()

}

虽然我猜测你不想使用 .length 的原因只是因为你使用了某种没有 length 属性的 sudo 数组,在这种情况下你可以将其转换为数组

....
return Array.apply(null, ar).length

如果不是,那么长度几乎就是你想要的

另一种选择,作为计算元素的简写,是仅计算键列表的长度

return Object.keys(ar).length

或 Object.values

return Object.values(ar).length

或 Object.entries

return Object.entries(ar).length

(通常这些方法适用于 sudo 数组或从头开始制作的没有长度属性的自定义数组)

或者直接返回推送功能

return ar.push(value)

0
投票
def f(arr:List[Int]):Int = {
var c = 0;
for(i <- arr) c+=1
c
}
© www.soinside.com 2019 - 2024. All rights reserved.