忽略纯数组方法的结果¶
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.