UNPKG

locutus

Version:

Locutus other languages' standard libraries to JavaScript for fun and educational purposes

40 lines (39 loc) 1.16 kB
export function array_combine(keys, values) { // discuss at: https://locutus.io/php/array_combine/ // original by: Kevin van Zonneveld (https://kvz.io) // improved by: Brett Zamir (https://brett-zamir.me) // example 1: array_combine([0,1,2], ['kevin','van','zonneveld']) // returns 1: {0: 'kevin', 1: 'van', 2: 'zonneveld'} const newArray = {}; let i = 0; // input sanitation // Only accept arrays or array-like objects // Require arrays to have a count if (typeof keys !== 'object') { return false; } if (typeof values !== 'object') { return false; } if (typeof keys.length !== 'number') { return false; } if (typeof values.length !== 'number') { return false; } if (!keys.length) { return false; } // number of elements does not match if (keys.length !== values.length) { return false; } for (i = 0; i < keys.length; i++) { const value = values[i]; if (typeof value === 'undefined') { return false; } newArray[String(keys[i])] = value; } return newArray; }