[英]Binding Array.push
我試圖將數組的'push'方法直接傳遞給另一個數組上的forEach調用:
result = []
l1 = [1]
f = result.push.bind(result)
l1.forEach(f)
結果最終結果是:
> result
[ 1, 0, [ 1 ] ]
如果我這樣做,而是:
l1.forEach(function (x) { f(x); })
一切正常。 到底是怎么回事?
要了解正在運行的內容,此代碼將被剪切
[1].forEach(function() {
console.log(arguments);
});
你會收到的
[1, 0, Array[1]]
使用以下參數為每個數組元素調用提供給forEach
方法的函數:
所以,似乎你不能通過綁定對特定數組實例的push
調用來做你想做的事情......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.