我正在将一段代码从TypeScript翻译成PHP,目前进展顺利。 在TypeScript中,有一些单行代码我需要翻译,但我似乎没有正确理解。
TypeScript代码为:
const InContent: string = subclass.Ins .map((In: In) => In.OutId + In.OutIndex) .reduce((a, b) => a + b, '');
现在我知道PHP 7有如下函数 array_map , array_reduce 和 array_column . 我认为也可以在PHP中将这个TypeScript oneliner创建为一个oneliner,但我不知道如何创建。
array_map
array_reduce
array_column
此代码显示为添加 OutId 和 OutIndex 一起(我只能假设这是一个数学加法,而不是字符串串联),然后将所有这些连接在一起,形成一个字符串。因此:
OutId
OutIndex
join(array_map(function ($in) { return $in->outId + $in->outIndex; }, $ins)) // I'm assuming `$in` is an object here
即使在JS中 reduce 将更加简洁 map(...).join() .
reduce
map(...).join()