を入力し、私は次のコードを持って言う:Ramda.jsは(キー)を摘み取るネイティブマップ対
const results = //some complex datastructure generated by a third party api call
const reducedList = results.map((item) => item.awesome_key)
.map((awesomeKeyList) => awesomeKeyList
.reduce((memo, awesomeKey) => {//stuff},{})))
このコードは、魔法のように動作します。今私はそうのように摘むを介して第1マップにRAMDAを使用することを決めたと言う:
import R from Ramda;
R.pluck('awesome_key', results)
.map((awesomeKeyList) => awesomeKeyList
.reduce((memo, awesomeKey) => {},{})))
これはで失敗します:
Property 'reduce' does not exist on type '{}'.
Ramda.pluckの種類は次のとおりです。
pluck<T>(p: string|number, list: any[]): T[];
pluck(p: string|number): <T>(list: any[]) => T[];
これらのタイプは、私がこのようにreduceを使用できないようにするのはどうですか?
例(簡体字)構造:
things: [
{
awesome_key: [{
long_name: 'string',
short_name: 'string',
types: {
0: 'string from set',
1?: 'string'
}
}]
other_fields not relevant here
}
]
缶問題を示すデータ(シンプルなもの)(https://stackoverflow.com/help/mcve)を共有していますか? –
サードパーティAPIのデータが要求通りに追加されました –
どちらの形式でも同じ結果が得られます。おそらくコードやデータに固有のものがあります。 –