sindresorhus/eslint-plugin-unicorn

Rule proposal: `proper-object-iterable-methods`

Chiusa

#1066 aperta il 25 gen 2021

 (12 commenti) (13 reazioni) (0 assegnatari)JavaScript (468 fork)user submission
help wantednew rule

Metriche repository

Star
 (5022 stelle)
Metriche merge PR
 (Merge medio 4h 30m) (26 PR mergiate in 30 g)

Descrizione

Fail

// Should use `Object.values`
for (const key of Object.keys(foo)) {
	bar(foo[key]);
}
// Should use `Object.entries`
for (const key of Object.keys(foo)) {
	bar(foo[key], key);
}
// Should use `Object.values`
const foo = Object.keys(bar).map(key => baz(bar[key]));
// Should use `Object.entries`
const foo = Object.keys(bar).map(key => baz(bar[key], key));
// Should use `Object.keys`
for (const [key] of Object.entries(foo)) {
	bar(key);
}

Pass

for (const key of Object.keys(foo)) {
	foo[key] = 'new value';
	delete foo[key];
	foo[key]++;
}

Guida contributor