无法让数组填充循环中参数的字符
Trouble getting array to populate with characters of arguments from loop
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);
它给我 "arguments.charAt" 无效
只需按下 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
是一个 method of String prototype and arguments
is an Array-like object 当然不是字符串。
一些调整将使其工作:
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]);
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);
它给我 "arguments.charAt" 无效
只需按下 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
是一个 method of String prototype and arguments
is an Array-like object 当然不是字符串。
一些调整将使其工作:
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]);