List of JavaScript methods which you can use natively + ESLint Plugin
{
"concat": {
"compatible": true,
"alternative": "Array.prototype.concat()"
},
"drop": {
"compatible": true,
"alternative": "Array.prototype.slice()"
},
"dropRight": {
"compatible": true,
"alternative": "Array.prototype.slice()"
},
"indexOf": {
"compatible": true,
"alternative": "Array.prototype.indexOf()"
},
"join": {
"compatible": true,
"alternative": "Array.prototype.join()"
},
"last": {
"compatible": true,
"alternative": "Array.prototype.at(-1) or Array.prototype.slice()",
"ES13": true
},
"lastIndexOf": {
"compatible": true,
"alternative": "Array.prototype.lastIndexOf()"
},
"reverse": {
"compatible": true,
"alternative": "Array.prototype.reverse()"
},
"fill": {
"compatible": true,
"alternative": "Array.prototype.fill()",
"ES6": true
},
"find": {
"compatible": false,
"alternative": "Array.prototype.find()",
"ES6": true
},
"detect": {
"compatible": true,
"alternative": "Array.prototype.find()",
"ES6": true
},
"first": {
"compatible": true,
"alternative": "Array.prototype.at(0) or Array.prototype.slice()",
"ES13": true
},
"findIndex": {
"compatible": false,
"alternative": "Array.prototype.findIndex()",
"ES6": true
},
"isArray": {
"compatible": true,
"alternative": "Array.isArray()"
},
"each": {
"compatible": false,
"alternative": "Array.prototype.forEach() or Object.entries().forEach()"
},
"forEach": {
"compatible": false,
"alternative": "Array.prototype.forEach() or Object.entries().forEach()"
},
"every": {
"compatible": false,
"alternative": "Array.prototype.every()"
},
"all": {
"compatible": false,
"alternative": "Array.prototype.every()"
},
"filter": {
"compatible": false,
"alternative": "Array.prototype.filter()"
},
"select": {
"compatible": false,
"alternative": "Array.prototype.filter()"
},
"map": {
"compatible": false,
"alternative": "Array.prototype.map()"
},
"collect": {
"compatible": false,
"alternative": "Array.prototype.map()"
},
"reduce": {
"compatible": false,
"alternative": "Array.prototype.reduce()"
},
"inject": {
"compatible": false,
"alternative": "Array.prototype.reduce()"
},
"foldl": {
"compatible": false,
"alternative": "Array.prototype.reduce()"
},
"reduceRight": {
"compatible": false,
"alternative": "Array.prototype.reduceRight()"
},
"foldr": {
"compatible": false,
"alternative": "Array.prototype.reduceRight()"
},
"size": {
"compatible": false,
"alternative": "Array.prototype.length"
},
"some": {
"compatible": false,
"alternative": "Array.prototype.some()"
},
"any": {
"compatible": false,
"alternative": "Array.prototype.some()"
},
"includes": {
"compatible": false,
"alternative": "Array.prototype.includes()",
"ES6": true
},
"contains": {
"compatible": false,
"alternative": "Array.prototype.includes()",
"ES6": true
},
"slice": {
"compatible": true,
"alternative": "Array.prototype.slice()"
},
"takeRight": {
"compatible": false,
"alternative": "Array.prototype.slice()"
},
"bind": {
"ruleName": "bind",
"compatible": true,
"alternative": "Function.prototype.bind()"
},
"isFinite": {
"compatible": true,
"alternative": "Number.isFinite()"
},
"isInteger": {
"ruleName": "is-integer",
"compatible": true,
"alternative": "Number.isInteger()",
"ES6": true
},
"isNaN": {
"ruleName": "is-nan",
"compatible": true,
"alternative": "Number.isNaN()",
"ES6": true
},
"isNil": {
"ruleName": "is-nil",
"compatible": true,
"alternative": "value === null || value === undefined"
},
"isNull": {
"ruleName": "is-null",
"compatible": true,
"alternative": "value === null"
},
"isUndefined": {
"ruleName": "is-undefined",
"compatible": true,
"alternative": "value === undefined"
},
"keys": {
"compatible": true,
"alternative": "Object.keys()"
},
"extendOwn": {
"compatible": true,
"alternative": "Object.assign()",
"ES6": true
},
"assign": {
"compatible": true,
"alternative": "Object.assign()",
"ES6": true
},
"values": {
"compatible": true,
"alternative": "Object.values()",
"ES6": true
},
"entries": {
"compatible": true,
"alternative": "Object.entries()",
"ES6": true
},
"toPairs": {
"compatible": true,
"alternative": "Object.entries()",
"ES6": true
},
"pairs": {
"compatible": true,
"alternative": "Object.entries()",
"ES6": true
},
"get": {
"compatible": false,
"alternative": "optional chaining to get nested values and nullish coalescing operator for fallback values",
"ES11": true
},
"split": {
"compatible": true,
"alternative": "String.prototype.split()"
},
"startsWith": {
"ruleName": "starts-with",
"compatible": true,
"alternative": "String.prototype.startsWith()"
},
"endsWith": {
"ruleName": "ends-with",
"compatible": true,
"alternative": "String.prototype.endsWith()"
},
"toLower": {
"compatible": true,
"alternative": "String.prototype.toLowerCase()"
},
"toUpper": {
"compatible": true,
"alternative": "String.prototype.toUpperCase()"
},
"trim": {
"compatible": true,
"alternative": "String.prototype.trim()"
},
"padStart": {
"compatible": true,
"alternative": "String.prototype.padStart()",
"ES6": true
},
"padEnd": {
"compatible": true,
"alternative": "String.prototype.padEnd()",
"ES6": true
},
"repeat": {
"compatible": true,
"alternative": "String.prototype.repeat()",
"ES6": true
},
"uniq": {
"compatible": true,
"alternative": "[... new Set(arr)]",
"ES6": true
},
"replace": {
"compatible": true,
"alternative": "String.prototype.replace()"
},
"omit": {
"compatible": true,
"alternative": "{a, b, c, ...notOmittedValues}",
"ES6": true
},
"flatten": {
"compatible": true,
"alternative": "Array.prototype.reduce((a,b) => a.concat(b), [])"
},
"throttle": {
"compatible": true,
"alternative": "Example of native implementation: https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore#_throttle"
},
"isString": {
"compatible": true,
"alternative": "str != null && typeof str.valueOf() === \"string\""
},
"castArray": {
"compatible": true,
"alternative": "Array.isArray(arr) ? arr : [arr]"
},
"cloneDeep": {
"compatible": true,
"alternative": "structuredClone()"
},
"isFunction": {
"compatible": true,
"alternative": "typeof func === \"function\""
},
"unionBy": {
"compatible": false,
"alternative": "Example of native implementation: https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore#_unionBy",
"ES10": true
},
"capitalize": {
"compatible": true,
"alternative": "string.charAt(0).toUpperCase() + string.slice(1).toLowerCase()"
},
"isDate": {
"compatible": true,
"alternative": "String.prototype.toString.call()"
},
"defaults": {
"compatible": true,
"alternative": "Object.assign({}, defaultValues, newValues)",
"ES6": true
},
"isArrayBuffer": {
"compatible": false,
"alternative": "value instanceof ArrayBuffer"
},
"head": {
"compatible": true,
"alternative": "Array.prototype.at(0)",
"ES13": true
}
}