在使用循环参数的字符填充数组时遇到麻烦

Trouble getting array to populate with characters of arguments from loop

本文关键字:数组 填充 遇到 麻烦 字符 循环 参数      更新时间:2023-09-26
function arrayAnalyzer(numbers){ 
var array = []; 
  for(var i = 0; i < arguments.length; i++) { 
    array.push(arguments.charAt(i)); 
  }
  console.log(array); 
} 
arrayAnalyzer(7, -3, 0, 12, 44, -5, 3);

给我"参数"。

Just push arguments[i]:

function arrayAnalyzer(numbers) {
  var array = []; 
  for(var i = 0; i < arguments.length; i++) { 
    array.push(arguments[i]); 
  }
  console.log(array); 
} 
arrayAnalyzer(7, -3, 0, 12, 44, -5, 3);

你也可以用更短的方式做同样的事情:

function arrayAnalyzer(numbers) {
  // Since arguments is Array-like object let's convert it to array:
  return Array.prototype.slice.call(arguments);
} 
console.log(arrayAnalyzer(7, -3, 0, 12, 44, -5, 3));

顺便说一下,charAt是String原型的方法,arguments是一个类数组对象,当然不是字符串

稍微调整一下就可以了:

function arrayAnalyzer(numbers){ 
var array = []; 
  for(var i = 0; i < numbers.length; i++) { 
    array.push(numbers[i]); 
  }
  console.log(array); 
} 
arrayAnalyzer([7, -3, 0, 12, 44, -5, 3]);