UNPKG

locutus

Version:

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

43 lines (42 loc) 1.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.array_combine = array_combine; 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; }