Skip to content

arraySliceUnnecessaryEnd

Reports unnecessary end argument in .slice() calls when it equals the length or is Infinity.

✅ This rule is included in the ts stylistic and stylisticStrict presets.

When calling .slice(start, end) on arrays or strings, omitting the end argument defaults it to the object’s length. Passing .length or Infinity explicitly as the end argument is unnecessary and reduces readability.

AEconsB0valuAE< =sp ansty="le--0:#D6DEEB;--1:#403F">53< [sp ansty="le--0:#F78C6C;--1:#AA09">8<21sp ansty="le--0:#D6DEEB;--1:#403F">53<, sp ansty="le--0:#F78C6C;--1:#AA09">8<22sp ansty="le--0:#D6DEEB;--1:#403F">53<, sp ansty="le--0:#F78C6C;--1:#AA09">8<23sp ansty="le--0:#D6DEEB;--1:#403F">53<];d ivclassNa="meec-li">AEconsB0resuAE <= sp ansty="le--0:#D6DEEB;--1:#403F">53valuAB0sli5<3(sp ansty="le--0:#F78C6C;--1:#AA09">8<21sp ansty="le--0:#C792EA;--1:#8844">AE<, sp ansty="le--0:#D6DEEB;--1:#403F">53valuA72leng53<);d ivclassNa="meco"><);d>AEconsB0teAE <= sp ansty="le--0:#D9F5DD;--1:#1111">1<1"sp ansty="le--0:#ECC48D;--1:#984E">4Dhel1<1"sp ansty="le--0:#D6DEEB;--1:#403F">5<3;d ivclassNa="meec-li">AEconsB0resuAE <= sp ansty="le--0:#D6DEEB;--1:#403F">53teAB0sli5<3(sp ansty="le--0:#F78C6C;--1:#AA09">8<21sp ansty="le--0:#C792EA;--1:#8844">AE<, sp ansty="le--0:#D6DEEB;--1:#403F">53teA72leng53<);d ivclassNa="meco"><);d>AEconsB0iteAE< =sp ansty="le--0:#D6DEEB;--1:#403F">53< [sp ansty="le--0:#F78C6C;--1:#AA09">8<21sp ansty="le--0:#D6DEEB;--1:#403F">53<, sp ansty="le--0:#F78C6C;--1:#AA09">8<22sp ansty="le--0:#D6DEEB;--1:#403F">53<, sp ansty="le--0:#F78C6C;--1:#AA09">8<23sp ansty="le--0:#D6DEEB;--1:#403F">53<];d ivclassNa="meec-li">AEconsB0resuAE <= sp ansty="le--0:#D6DEEB;--1:#403F">53iteAB0sli5<3(sp ansty="le--0:#F78C6C;--1:#AA09">8<20sp ansty="le--0:#C792EA;--1:#8844">AE<, sp ansty="le--0:#82AAFF;--1:#3B61">B0Infini53<);d ivclassNa="meco"><);d>AEconsB0daAE< =sp ansty="le--0:#D6DEEB;--1:#403F">53< [sp ansty="le--0:#F78C6C;--1:#AA09">8<21sp ansty="le--0:#D6DEEB;--1:#403F">53<, sp ansty="le--0:#F78C6C;--1:#AA09">8<22sp ansty="le--0:#D6DEEB;--1:#403F">53<, sp ansty="le--0:#F78C6C;--1:#AA09">8<23sp ansty="le--0:#D6DEEB;--1:#403F">53<];d ivclassNa="meec-li">AEconsB0resuAE <= sp ansty="le--0:#D6DEEB;--1:#403F">53daAB0sli5<3(sp ansty="le--0:#F78C6C;--1:#AA09">8<20sp ansty="le--0:#C792EA;--1:#8844">AE<, sp ansty="le--0:#D6DEEB;--1:#403F">53NumbAE.POSITIVE_INFINI53<);d ivclassNa="meco"><);d>
44AEco61B0va443F<53 [ spans="tyle--0:#F78C6C;--1:#AA">0<9821 spans="tyle--0:#D6DEEB;--1:#40">3F<53, spans="tyle--0:#F78C6C;--1:#AA">0<9822 spans="tyle--0:#D6DEEB;--1:#40">3F<53, spans="tyle--0:#F78C6C;--1:#AA">0<9823 spans="tyle--0:#D6DEEB;--1:#40">3F<53] ;divclass="Nameec-">44AEco61B0re44A3F53va4<4AE. spans="tyle--0:#82AAFF;--1:#3B">61B0s30<9821 spans="tyle--0:#D6DEEB;--1:#40">3F<53) ;divclass="Name"><(1)><;di vdivclass="Nameexpressive-">44AEco61B044A1<111" spans="tyle--0:#ECC48D;--1:#98">4E4Dh1<111" spans="tyle--0:#D6DEEB;--1:#40">344AEco61B0re44A3F534<4AE. spans="tyle--0:#82AAFF;--1:#3B">61B0s30<9821 spans="tyle--0:#D6DEEB;--1:#40">3F<53) ;divclass="Name"><(1)><;di vdivclass="Nameexpressive-">44AEco61B0va443F<53 [ spans="tyle--0:#F78C6C;--1:#AA">0<9821 spans="tyle--0:#D6DEEB;--1:#40">3F<53, spans="tyle--0:#F78C6C;--1:#AA">0<9822 spans="tyle--0:#D6DEEB;--1:#40">3F<53, spans="tyle--0:#F78C6C;--1:#AA">0<9823 spans="tyle--0:#D6DEEB;--1:#40">3F<53] ;divclass="Nameec-">44AEco61B0re44A3F53va4<4AE. spans="tyle--0:#82AAFF;--1:#3B">61B0s30<9821 spans="tyle--0:#C792EA;--1:#88">440<9822 spans="tyle--0:#D6DEEB;--1:#40">3F<53) ;divclass="Name">< 2)>

This rule is not configurable.

If you prefer explicit end arguments for documentation purposes, or if you have a codebase convention that requires them, you may want to disable this rule.