我试图创建一个可以接受数组并向后显示其内容的函数。我无法理解为什么在参数中输入数组时函数调用为何显示为未定义。
var arrayOne = []
function printReverse(arrayOne) {
for(var i = arrayOne.length-1; i < 0; i--) {
console.log(arrayOne[i])
}
}
答案 0 :(得分:1)
您的问题有误会:
您要实现的是屏幕上的import os
import pandas as pd
totals = pd.read_csv('filename')
band_gaps = totals.groupby(['column1','column2'])
band_gaps.info()
AttributeError: Cannot access callable attribute 'info' of
'DataFrameGroupBy' objects, try using the 'apply' method
type(band_gaps)
pandas.core.groupby.generic.DataFrameGroupBy
个元素,而不是console.log
个元素。
您的代码
return
不起作用,因为您在var arrayOne = []
function printReverse(arrayOne) {
for(var i = arrayOne.length-1; i < 0; i--) {
console.log(arrayOne[i])
}
}
的代码中使用了错误的运算符。这将在第一次迭代时返回false,因为i < 0
将是i
,如果上面有任何元素,它将是arrayOne.length
。
将此部分更改为> 0
,您的代码将起作用并在控制台上实际打印值。
但是,如果您确实想拥有一个还原的数组,则应该只使用Array reverse()而不是编写一个函数来返回它。
答案 1 :(得分:0)
所以这里有一些基本原理。如另一个答案所述,i
永远不会小于0
,因为您在0
循环中将其定义为大于for
的值。尝试一下类似的东西
编辑:从某种意义上说,注释是正确的,因为该数组将被变异,因此请首先使用扩展运算符添加该数组的副本 同样,对于此返回的undefined,除非您注释掉return语句,否则它应该返回undefined
const arrayOne = [];
function printReverse(array) {
if (!Array.isArray(array) && array.length === 0 ) {
return 'The array is empty';
}
const arrCopy = [...array];
// technically you could just reverse it
// if you return it you have to assign it to someone on the function call
// return arrCopy.reverse();
// if you want to log the reversed array you could also
// console.log(arrCopy.reverse());
// if you want to reverse it then log each single index
// arrCopy.reverse().forEach(function(item) {
// console.log(item);
// })
}
// if you were to just return the reversed array you would have to assign it to a variable
// this is just an example and wouldnt technically work because arrayOne is empty
// also if you use this YOU HAVE TO RETURN THE ARRAY COPY
// const reversedArray = printReverse(arrayOne);
答案 2 :(得分:-1)
如果希望它返回某些内容,则必须在函数内添加一个返回值,例如
function printReverse(arrayOne) {
for(var i = arrayOne.length-1; i < 0; i--) {
console.log(arrayOne[i]);
}
return "";
}
但是,就您而言,这没有多大意义。您只能返回一件事,它可以是字符串,整数,数组,对象等等。但是,一旦您的程序命中了一个return语句,它将在返回值后退出函数。