1
私は、最短の方法を探しています。sort
の値が入っています。PHPのオブジェクトは配列の中で最高の値を持っています
array(5) {
[0]=>
object(stdClass)#212 (3) {
["id"]=>
int(1)
["display_name"]=>
string(8) "Activate"
["sort"]=>
int(1)
}
[1]=>
object(stdClass)#213 (3) {
["id"]=>
int(2)
["display_name"]=>
string(7) "Cutting"
["sort"]=>
int(2)
}
[2]=>
object(stdClass)#214 (3) {
["id"]=>
int(3)
["display_name"]=>
string(6) "Sewing"
["sort"]=>
int(3)
}
[3]=>
object(stdClass)#215 (3) {
["id"]=>
int(4)
["display_name"]=>
string(9) "Finishing"
["sort"]=>
int(4)
}
[4]=>
object(stdClass)#216 (3) {
["id"]=>
int(5)
["display_name"]=>
string(10) "Deactivate"
["sort"]=>
int(5)
}
}
以下は私の練習ですが、複雑で長いコードだと思います。
// $gateways is the array contains a list of objects.
// find max sort value in array first
$max = max(array_map(function($row){ return $row->sort; }, $gateways));
// then find in array object with sort value is equal to $max value
$filter = array_filter($gateways, function($row) use ($max){
return $max == $row->sort;
});
if(count($filter)){
$finalResult = array_shift($filter);
}
reduce
のように、Javascriptでこれを行う方法はありますか?
ありがとうございました。
http://php.net/manual/en/function.array-reduce.php – splash58