Skip to content

Instantly share code, notes, and snippets.

@texora
Last active June 19, 2020 05:17
Show Gist options
  • Save texora/3980318e7942ed68c6c8ca71ed294ca6 to your computer and use it in GitHub Desktop.
Save texora/3980318e7942ed68c6c8ca71ed294ca6 to your computer and use it in GitHub Desktop.
// buat object kosong
let _ = {};
// fungsi filter array pada javascript
_.filter = (list, callback) => {
let storage = [];
_.each(list, (value, i, list) => {
if (callback(value, i, list)) storage.push(value);
})
return storage
}
// fungsi map pada javascript
_.map = (list, callback) => {
let storage = [];
//for (let i = 0; i < list.length; i++) {
// storage.push(callback(list[i], i, list));
//}
_.each(list, (value, i, list) => {
storage.push(callback(value, i, list));
});
return storage;
}
// buat each untuk menampilkan setiap item pada suatu array
_.each = (list, callback) => {
if (Array.isArray(list)) {
for (let i = 0; i < list.length; i++) {
callback(list[i], i, list);
}
} else {
for (key in list) {
callback(list[key], key, list);
}
}
}
_.from = arr => {
return Array.prototype.slice.call(arr);
}
// test
_.each([1, 2, 3, 4, 5, 6, 7, 8], item => console.log(item));
_.filter([1, 2, 3, 4, 5, 6, 7, 8], item => item % 2 === 0);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment