sindresorhus/eslint-plugin-unicorn
Rule proposal: `proper-object-iterable-methods`
Closed
#1,066 opened on Jan 25, 2021
help wantednew rule
Repository metrics
- Stars
- (5,022 stars)
- PR merge metrics
- (Avg merge 1d 16h) (399 merged PRs in 30d)
Description
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]++;
}