array.filter如何在我的示例代码中检查array差异
How is array.filter checking for Array differences in my sample code?
我试图通过检查indexOf(x)是否等于-1来理解array.filter是如何返回数组差异的?为什么是-1?
function array_diff(a, b) {
return a.filter(function(x) { return b.indexOf(x) == -1; });
}
indexOf(x)返回属性的索引。因此0是第一个属性,-1表示找不到任何属性。
b.indexOf(x)
返回数组b
、或-1
中参数x
的索引(如果在数组b
中找不到x
)。
因此,如果a
和b
数组的中都不存在x
,则indexOf()
返回-1
,允许x
出现在结果中。
function array_diff(a, b) {
return a.filter(function(x) { return b.indexOf(x) == -1; });
}
对于数组a
的每个项,查看它是否存在于数组b
中。如果没有(indexOf()
返回-1
),则返回true,并将其保留在数组中。如果它在两个数组中,则返回false。
相关文章:
- 从桌面读取python文件时高亮显示代码
- 如何将函数包装在函数中以避免代码重复
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 货币代码为欧元-金额的格式不应包含小数
- Regex代码只允许一个空格
- 如何将屏幕分辨率乘以 80%,然后在代码中使用
- 如何为json对象中的段发送array[]
- 从var向代码隐藏函数传递值
- array.filter代码说明
- Array.insert函数错误,因为Object函数Array(){〔本机代码〕}没有方法'插入'
- array.filter如何在我的示例代码中检查array差异
- 出现在..中的Monkeypatched代码..在Array上循环
- 将锚代码替换为 Javascript Array
- Javascript Array Push 代码如何在内部工作
- Array.prototype.some() 是否返回文字?如果是这样,这段代码是什么意思
- 将以下代码从for循环转换为Array#映射
- js Array.prototype.filter.call() - 有人可以解释我这段代码是如何工作的
- 扩展Array类会破坏我的代码
- 如何有效地原型化Array或从Array重用代码
- 代码未使用 array.push 运行