问题描述
function addValue(arr,value){
arr.push(值)
返回...
}
console.log(addValue([1,2,3],10)); // 4个而不使用.length
解决方法
Array#push
返回数组的新长度。
function addValue(arr,value) {
return arr.push(value);
}
console.log(addValue([1,2,3],10)); // 4 without using .length
,
尝试不使用.length的数组的纯JavaScript返回长度
var a = [1,3,4,5];
function arrayLength(a){
var length = 0;
while(a[length]!==undefined){
length++;
}
return length;
}
console.log(arrayLength(a)); // 5
,
function addValue(arr,value){
arr.push(value)
var count=0;
arr.forEach(a=>{
count++;})
return count
}
console.log(addValue([1,10));
,
如果您不想使用.length,则可以通过手动计数来使自己的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数组或从头开始制作的没有length属性的自定义数组)
或者只返回push函数
return ar.push(value)