Use PHP functions in JavaScript

JavaScript array_flip

Return array with key <-> value flipped

1
2
3
4
56
7
8
9
1011
12
13
14
1516
17
18
function array_flip (trans) {
    // Return array with key <-> value flipped  
    // 
    // version: 1109.2015
    // discuss at: http://phpjs.org/functions/array_flip    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      improved by: Pier Paolo Ramon (http://www.mastersoup.com/)
    // *     example 1: array_flip( {a: 1, b: 1, c: 2} );
    // *     returns 1: {1: 'b', 2: 'c'}
    var key, tmp_ar = {}; 
    for (key in trans) {
        if (!trans.hasOwnProperty(key)) {continue;}
        tmp_ar[trans[key]] = key;
    } 
    return tmp_ar;
}
external links: original PHP docs | raw js source

Examples

Running

1
array_flip( {a: 1, b: 1, c: 2} );

Should return

1
{1: 'b', 2: 'c'}

Dependencies

No dependencies, you can use this function standalone.

Open syntax issues

php.js uses JsLint to help us keep our code consistent and prevent some common bugs.

Eventually we want all code to pass or at least take into consideration most fixes suggested by JsLint, following this JsLint configuration we’ve decided on.


Authors

Thanks to the following developers, you get to have array_flip goodness in JavaScript.

Comments

Add Comment
Use:
[CODE]
your_stuff('here');
[/CODE]
for proper code formatting
By submitting code here you are allowing us to use it in php.js hence dual licensing it under the MIT and GPL licenses

Gravatar
Brett Zamir
20 Jul '11 Permalink

q  @Pier Paolo Ramon: Good catch! Thanks--fixed in Git... (This function as with many others still needs to support reliably ordered associative arrays--see PHPJS_Array() in array().)

Gravatar
Pier Paolo Ramon
15 Jul '11 Permalink

q  You should check if it's a property of the object, with hasOwnProperty.

[CODE]
for (key in trans) {
if (!trans.hasOwnProperty(key)) continue;
tmp_ar[trans[key]] = key;
}
[CODE]


Contribute a New function