簡體   English   中英

javascript中的意外標識符錯誤

[英]unexpected identifier error in javascript

我收到以下函數的意外標識符錯誤。

function merge (one, two) {
    one.forEach(function(assign){

     //////////this next line is throwing the error////////////
        if (two.some(function(req) req.related == assign.rid)) {
            if (one.some(function(iter) iter.rid == req.rid)) {
                iter.quantity++;
            } else {
                one.push(req);
            }
        }
    });

    return one; 
}   

該函數旨在對一組對象進行操作。

你錯過了一些{ }周圍.some(function()...

function merge (one, two) {
    one.forEach(function(assign){

        if (two.some(function(req){ req.related == assign.rid})) {
                               // ^-- This one you missed
            if (one.some(function(iter){ iter.rid == req.rid})) {
                                    // ^-- This one you missed as well
                iter.quantity++;
            } else {
                one.push(req);
            }
        }
    });

    return one; 
}  

查看一些函數調用。 它當然是一個作為參數傳遞的函數,因此需要大括號。

.some()期望函數作為參數。
如果要傳遞匿名函數,請使用花括號:

if (two.some(function(req) { return req.related == assign.rid; })) 
{
    if (one.some(function(iter) { return iter.rid == req.rid; })) 
    {
        iter.quantity++;
    } else {
        one.push(req);
    }
}

你缺少函數內的open/close braces {}

寫一個函數應該是這樣的:

$(function(){
//code
})

有些功能需要花括號/(paranthesis)來打開和關閉,請閱讀此鏈接, 這是對功能的一個很好的解釋

你沒有正確地調用你的功能。 定義函數的參數后需要括號。

例如,這就是兩個應該是這樣的:

two.some(function(req){ req.related == assign.rid })

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM