Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
_.map _.uniq vs _.map Set vs _.keyBy _.keys _.uniq
(version: 0)
Comparing performance of:
_.map _.uniq vs _.map Set vs _.keyBy _.keys _.uniq
Created:
3 years ago
by:
Registered User
Jump to the latest result
HTML Preparation code:
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js'></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/clone/2.1.2/clone.min.js"></script>
Script Preparation code:
var characters = [ { "_id": "5b59a34561a2220011900b7e", "characterID": "5ab48ce869b013001d26f49b", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b7d", "characterID": "5ab48ce869b013001d26f49c", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b7c", "characterID": "5ab48ce869b013001d26f49d", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b7b", "characterID": "5ab48ce869b013001d26f4a7", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b7a", "characterID": "5ab48ce869b013001d26f4b0", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b79", "characterID": "5ab48ce869b013001d26f4b6", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b78", "characterID": "5ab48ce869b013001d26f4bf", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b77", "characterID": "5ab48ce869b013001d26f4c4", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b76", "characterID": "5ab48ce869b013001d26f4c9", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b75", "characterID": "5ab48ce869b013001d26f4d0", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b74", "characterID": "5ab48ce969b013001d26f4d8", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b73", "characterID": "5ab48ce969b013001d26f4d9", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b72", "characterID": "5ab48ce969b013001d26f4e2", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b71", "characterID": "5ab48ce969b013001d26f4ed", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b70", "characterID": "5ab48ce969b013001d26f4ef", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b6f", "characterID": "5ab48ce969b013001d26f4f3", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b6e", "characterID": "5ab48ce969b013001d26f503", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b6d", "characterID": "5ab48ce969b013001d26f505", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b6c", "characterID": "5ab48ce969b013001d26f50d", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b6b", "characterID": "5ab48ce969b013001d26f515", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b6a", "characterID": "5ab48ce969b013001d26f519", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b69", "characterID": "5ab48ce969b013001d26f51a", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b68", "characterID": "5ab48ce969b013001d26f528", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b67", "characterID": "5ab48ce969b013001d26f52c", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b66", "characterID": "5ab48ce969b013001d26f52e", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b65", "characterID": "5ab48ce969b013001d26f535", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b64", "characterID": "5ab48ce969b013001d26f53c", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b63", "characterID": "5ab48ce969b013001d26f541", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b62", "characterID": "5ab48ce969b013001d26f542", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b61", "characterID": "5ab48ce969b013001d26f552", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b60", "characterID": "5ab48ce969b013001d26f558", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b5f", "characterID": "5ab48ce969b013001d26f55b", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b5e", "characterID": "5ab48ce969b013001d26f568", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b5d", "characterID": "5ab48ce969b013001d26f569", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b5c", "characterID": "5ab48ce969b013001d26f56b", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b5b", "characterID": "5ab48ce969b013001d26f57e", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b5a", "characterID": "5ab48ce969b013001d26f585", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b59", "characterID": "5ab48ce969b013001d26f587", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b58", "characterID": "5ab48ce969b013001d26f58c", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b57", "characterID": "5ab48ce969b013001d26f58f", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b56", "characterID": "5ab48ce969b013001d26f598", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b55", "characterID": "5ab48ce969b013001d26f5a0", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b54", "characterID": "5ab48ce969b013001d26f5ab", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b53", "characterID": "5ab48ce969b013001d26f5ad", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b52", "characterID": "5b05276604041f001de1cec7", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b51", "characterID": "5b05276604041f001de1cecf", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b50", "characterID": "5b05276604041f001de1ced1", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b4f", "characterID": "5b05276604041f001de1ceda", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b4e", "characterID": "5b05276604041f001de1cee6", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b4d", "characterID": "5b05276604041f001de1cee7", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b4c", "characterID": "5b05276604041f001de1ceee", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b4b", "characterID": "5b1614bf6b9868001df21f39", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b4a", "characterID": "5b1614bf6b9868001df21f3c", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b49", "characterID": "5b1614bf6b9868001df21f44", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b48", "characterID": "5b166a1d6b9868001df22509", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b47", "characterID": "5b166a1d6b9868001df2250b", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b46", "characterID": "5b166a1d6b9868001df22512", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b45", "characterID": "5b334034d075be001dd96d2e", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b44", "characterID": "5b334034d075be001dd96d2f", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b43", "characterID": "5b334034d075be001dd96d30", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b42", "characterID": "5b334034d075be001dd96d42", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b41", "characterID": "5b334034d075be001dd96d49", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b40", "characterID": "5b334034d075be001dd96d50", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b3f", "characterID": "5b334034d075be001dd96d56", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b3e", "characterID": "5b334034d075be001dd96d59", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b3d", "characterID": "5b334034d075be001dd96d5b", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b39", "characterID": "5b334034d075be001dd96d7f", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b38", "characterID": "5b334034d075be001dd96d80", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b37", "characterID": "5b334034d075be001dd96d81", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b33", "characterID": "5b50690fce0e3d001d4377ac", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b32", "characterID": "5b50690fce0e3d001d4377af", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b31", "characterID": "5b50690fce0e3d001d4377b0", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b30", "characterID": "5b50690fce0e3d001d4377c0", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b2f", "characterID": "5b50690fce0e3d001d4377c2", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b2e", "characterID": "5b50690fce0e3d001d4377c9", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b2d", "characterID": "5b506d27ce0e3d001d438035", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b2c", "characterID": "5b50690fce0e3d001d4377d8", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b2b", "characterID": "5b50690fce0e3d001d4377d9", "level": 1, "spawnRate": 24, "maxSpawn": 1 } ]
Tests:
_.map _.uniq
var results = _(characters).map('characterID').uniq().value();
_.map Set
var results = [...new Set(_.map(characters,'characterID'))];
_.keyBy _.keys _.uniq
var results = _(characters).keyBy('cateID').keys().uniq().value();
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (3)
Previous results
Fork
Test case name
Result
_.map _.uniq
_.map Set
_.keyBy _.keys _.uniq
Fastest:
N/A
Slowest:
N/A
Latest run results:
No previous run results
This benchmark does not have any results yet. Be the first one
to run it!
Autogenerated LLM Summary
(model
llama3.2:3b
, generated one year ago):
Based on the provided data, I'll provide an answer that focuses on the individual test cases. **Test Case 1: `_.map(_.uniq)`** The benchmark result for this test case is: * Test Name: `.map _.uniq` * Execution Per Second (EPS): 148880.546875 * Browser: Chrome 111 This suggests that using `_.map` followed by `_.uniq` on the `characters` array results in an efficient and fast execution. **Test Case 2: `[...new Set(_.map(characters, 'characterID'))]`** The benchmark result for this test case is: * Test Name: `.map Set` * Execution Per Second (EPS): 312285.90625 * Browser: Chrome 111 This suggests that using the spread operator and `Set` to remove duplicates from the mapped array results in a significantly faster execution compared to the previous test case. **Test Case 3: `_.keyBy(_.keys).uniq()`** The benchmark result for this test case is: * Test Name: `.keyBy _.keys _.uniq` * Execution Per Second (EPS): 224053.765625 * Browser: Chrome 111 This suggests that using `_.keyBy` followed by `.keys` and then `_.uniq` results in a moderate execution speed. Please note that these results are based on the provided benchmark data and might not be representative of all possible use cases or environments.
Related benchmarks:
Lodash Map&Uniq vs Javascript dictionary
native find vs lodash _.find with null values and object
Underscore pluck vs map 2
Map vs lodash.uniq
lodash clone vs. JSON.parse(JSON.stringify()) vs. fastest-json-copy | On a Big Object
Comments
Confirm delete:
Do you really want to delete benchmark?