Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我想在从firebase获取数组中的值后获得最高值。我怎样才能得到它?_Javascript_Reactjs_Firebase - Fatal编程技术网

Javascript 我想在从firebase获取数组中的值后获得最高值。我怎样才能得到它?

Javascript 我想在从firebase获取数组中的值后获得最高值。我怎样才能得到它?,javascript,reactjs,firebase,Javascript,Reactjs,Firebase,我在下面的代码中尝试从firebase获取数组中的值,但无法获取,下面的代码有什么问题 dispatch(AssignRequest()); return DB.database.ref('/BidData').on('value', snap => { // console.log('biddDataaa', snap.val()) // var Amount = snap.val().amount;

我在下面的代码中尝试从firebase获取数组中的值,但无法获取,下面的代码有什么问题

dispatch(AssignRequest());
        return DB.database.ref('/BidData').on('value', snap => {
            // console.log('biddDataaa', snap.val())
            // var Amount  =  snap.val().amount;

            const todo = [];
            snap.forEach(childSnapshot => {
                var innerTodo = childSnapshot.val();
                // console.log('AAAAAmmmmmmont', innerTodo.amount)
                var price =parseInt( innerTodo.amount);
                console.log('pricee-------------',price)
                var maxAmount = 0;
                for(var i = 0;i< price.lenght;i++ ){
                    if(price[i].lenght> maxAmount){
                        maxAmount = price[i].lenght
                        console.log('mahhhhhhhh',maxAmount)
                    }
                } 
return maxAmount;
dispatch(AssignRequest());
在('value',snap=>{
//console.log('biddataaa',snap.val())
//var Amount=snap.val().Amount;
常数todo=[];
snap.forEach(childSnapshot=>{
var innerTodo=childSnapshot.val();
//console.log('aaaaaa mmmm ont',innerTodo.amount)
var price=parseInt(内部托多金额);
console.log('price--------',price)
var maxAmount=0;
对于(变量i=0;i最大金额){
最大金额=价格[i]。长度
console.log('mahhhhh',maxAmount)
}
} 
返回最大金额;

我认为您在循环之前缺少快照上的val()

如果(price[I]>maxamunt){并且您的输入错误是lenght而不是length。您的javascript控制台应该向您显示第二个错误。他在循环内调用
childSnapshot.val()
,这通常是首选的(尽管在这种情况下没有区别),因为它确保他按顺序在子节点上循环。