You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript中如何访问bind方法绑定到this的搜索空间参数

解决方案

你可以直接通过this关键字访问到bind()传入的搜索空间:Function.prototype.bind()的第一个参数会绑定为目标函数执行时的this值,你将多维数组作为bind的入参传入后,contains函数内部的this就指向这个多维数组。

修正后的完整代码如下:

function contains(cell){
   let found = false;
   const [x, y] = cell;

   // 直接用this访问绑定的搜索空间
   this.forEach((element) => {
     const [j, k] = element;
     if (x === j && y === k){
        found = true;
     }
   });
   return found;
}

可选优化建议

你可以改用for...of循环实现更高效的匹配,匹配到目标后直接终止遍历,不需要遍历整个搜索空间,同时代码更简洁:

function contains(cell){
   const [x, y] = cell;
   for (const [j, k] of this) {
     if (x === j && y === k) return true;
   }
   return false;
}

注意:原代码中解构赋值的变量没有添加let/const声明,会默认挂载到全局作用域造成污染,修正后的代码已经补充了变量声明。

内容的提问来源于stack exchange,提问作者Brayoni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 19:48:03