
Product
Announcing Socket Fix 2.0
Socket Fix 2.0 brings targeted CVE remediation, smarter upgrade planning, and broader ecosystem support to help developers get to zero alerts.
join-by-keys
Advanced tools
Join an array of objects on a common key or keys.
var join = require('join-by-keys')
var result
, data
data = [
{
'i': 0
'j': 0
'v': 1
}
, {
'i': 0
'j': 0
'v': 2
}
, {
'i': 1
'j': 0
'v': 3
}
, {
'i': 1
'j': 1
'v': 4
}
, {
'i': 1
'j': 1
'v': 5
}
]
join(data, ['i', 'j'])
// returns:
// [
// {i: 0, j: 0, v: [1, 2]}
// , {i: 1, j: 0, v: [3]}
// , {i: 1, j: 1, v: [4, 5]}
// ]
The module exports a function:
function(data, keys) -> joinedData
data
is assumed to be an array of JavaScript objects to join.keys
is an array of strings representing the names of attributes whose
values should be used to join the datajoinedData
is an array of JavaScript objects: The join of the data on the
specified keys. It is computed as follows:
data
with the same value in each of the keys
slots.keys
, on the new object, set the key to the value of the first matching object.
(It doesn't matter which you choose, since they are all the same
anyway).keys
, in the returned object, set key to an array
holding all the values for the given key found on all of the matching
objects.This project is licensed under the Apache License, Version 2.0. See LICENSE for the full license.
FAQs
Join an array of objects on a common key or keys.
We found that join-by-keys demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket Fix 2.0 brings targeted CVE remediation, smarter upgrade planning, and broader ecosystem support to help developers get to zero alerts.
Security News
Socket CEO Feross Aboukhadijeh joins Risky Business Weekly to unpack recent npm phishing attacks, their limited impact, and the risks if attackers get smarter.
Product
Socket’s new Tier 1 Reachability filters out up to 80% of irrelevant CVEs, so security teams can focus on the vulnerabilities that matter.