mikanmarusanのブログ

テクノロジーとかダイビングとか

Is there any function in JavaScript which is equivalent to PHP's array_column()?

(please find the Japanese translation after the English text)

Please let's me go easy because I'm a newbie about JavaScript :)
In order to transform my data, I looked for the function which is equivalent to PHP's array_column() in JavaScript.

array_column() returns the values from a single column in the input array:

<?php
$records = array(
    array(
        'id' => 1,
        'name' => 'mikan'
    ),
    array(
        'id' => 2,
        'name' => 'maru'
    )
);

$names = array_column($records, 'name');
?>

However, I couldn't find the function in JS, so I wrote the code myself. it was annoying...

function arrayColumn(input, columnKey) {
    return input.map(function(value, index) {
        return value[columnKey];
    })
}

Please tell me better and easily way!


JS初心者のため手加減してほしい :) データ変換をするために、PHParray_column() に相当する関数を探していた。

array_column() は入力配列から単一のカラムの値を返す関数である。

<?php
$records = array(
    array(
        'id' => 1,
        'name' => 'mikan'
    ),
    array(
        'id' => 2,
        'name' => 'maru'
    )
);

$names = array_column($records, 'name');
?>

JSでそれを見つけることができなかったので、自分で書く羽目になった。微妙すぎる。

function arrayColumn(input, columnKey) {
    return input.map(function(value, index) {
        return value[columnKey];
    })
}

誰かもっといい方法があれば教えてほしい。