[英]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
})
你沒有正確地調用你的功能。 定義函數的參數后需要括號。
例如,這就是兩個應該是這樣的:
two.some(function(req){ req.related == assign.rid })
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.