Convert arrays into objects by using unique fields.
# Using npm
npm install --save arr-obj
# Using yarn
yarn add arr-obj
const arrObj = require("arr-obj");
let arr = [
{ name: "Alice", location: { name: "Earth" } },
{ name: "Bob", location: { name: "Mars" } }
];
console.log(arrObj(arr, "name"));
// { Alice: { name: 'Alice', location: { name: 'Earth' } },
// Bob: { name: 'Bob', location: { name: 'Mars' } } }
console.log(arrObj(arr, "location.name", true));
// { Earth: { name: 'Alice', location: { name: 'Earth' } },
// Mars: { name: 'Bob', location: { name: 'Mars' } } }
console.log(arrObj([1, 4, 9, 16], c => {
return Math.sqrt(c);
}));
// { '1': 1, '2': 4, '3': 9, '4': 16 }
There are few ways to get help:
- Please post questions on Stack Overflow. You can open issues with questions, as long you add a link to your Stack Overflow question.
- For bug reports and feature requests, open issues. 🐛
- For direct and quick help, you can use Codementor. 🚀
Convert an array into object by using unique fields.
- Array
arr
: The input array. - String|Function
by
: The field name to use in the object keys or a function returning this value. - Boolean
deep
: Use this for accessing nested objects in the array elements.
- Object The result object.
Have an idea? Found a bug? See how to contribute.
I open-source almost everything I can, and I try to reply to everyone needing help using these projects. Obviously, this takes time. You can integrate and use these projects in your applications for free! You can even change the source code and redistribute (even resell it).
However, if you get some profit from this or just want to encourage me to continue creating stuff, there are few ways you can do it:
-
Starring and sharing the projects you like 🚀
-
—I love books! I will remember you after years if you buy me one. 😁 📖
-
—You can make one-time donations via PayPal. I'll probably buy a
coffeetea. 🍵 -
—Set up a recurring monthly donation and you will get interesting news about what I'm doing (things that I don't share with everyone).
-
Bitcoin—You can send me bitcoins at this address (or scanning the code below):
1P9BRsmazNQcuyTxEqveUsnf5CERdq35V6
Thanks! ❤️