Created
May 19, 2020 00:21
-
-
Save luislobo14rap/8081c57307613163f57aa8805e7a52b7 to your computer and use it in GitHub Desktop.
array-or-obj-swap.js obj-to-array.js array-to-obj.js
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // array-or-obj-swap.js v1 | |
| // is.js v0.9.0 | |
| let toString_aOOSwap = Object.prototype.toString; | |
| // is a given value Array? | |
| let isArray_aOOSwap = Array.isArray || function(value) { // check native isArray first | |
| return toString_aOOSwap.call(value) === '[object Array]'; | |
| }; | |
| // is a given value object? | |
| let isObject_aOOSwap = function(value) { | |
| return Object(value) === value; | |
| }; | |
| // /is.js | |
| function arrayOrObjSwap(item){ | |
| if( isArray_aOOSwap(item) ){ | |
| return arrayToObj(item); | |
| }; | |
| if( isObject_aOOSwap(item) ){ | |
| return objToArray(obj); | |
| }; | |
| return false; | |
| }; | |
| // obj-to-array.js v1 | |
| function objToArray(obj){ | |
| let arrayR = []; | |
| let keys = Object.keys(obj); | |
| let values = Object.values(obj); | |
| let length = keys.length; | |
| for(let i = 0; i < length; i++){ | |
| arrayR.push(keys[i]); | |
| arrayR.push(values[i]); | |
| }; | |
| return arrayR; | |
| }; | |
| // array-to-obj.js v1 | |
| function arrayToObj(array){ | |
| let objR = {}; | |
| let length = array.length; | |
| for(let i = 0; i < length; i++){ | |
| objR[array[i]] = array[i+1]; | |
| i++; | |
| }; | |
| return objR; | |
| }; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment