忽略纯数组方法的结果¶
ID: js/ignore-array-result
Kind: problem
Security severity:
Severity: warning
Precision: high
Tags:
- maintainability
- correctness
Query suites:
- javascript-security-and-quality.qls
concat、join 和 slice 方法是纯方法,不会修改任何输入或方法调用的数组。因此,忽略对这些方法之一的调用的返回值通常是一个错误。
建议¶
使用对 concat、join 或 slice 的调用的返回值。
示例¶
以下示例定义了一个函数 extend。该函数使用 concat 方法向 arr 数组添加元素。但是,由于忽略了 concat 的返回值,因此 extend 函数没有效果。
var arr = [1,2,3];
function extend(others) {
arr.concat(others);
}
将对 concat 的调用的返回值分配给 arr 变量可以修复该错误。
var arr = [1,2,3];
function extend(others) {
arr = arr.concat(others);
}
参考资料¶
Mozilla 开发者网络:Array concat.
Mozilla 开发者网络:Array slice.
Mozilla 开发者网络:Array join.