0
ramda.js内のオブジェクトのプロパティを修正する必要があります。私はレンズを使わないでください。lenseを使用せずにRamdaでプロパティを条件付きで追加して名前を変更する
次のようなデータを持って、私は必要があります。
もしa
でのアレイのプロパティ内のオブジェクトとb
他人
プロパティ「animationTimingFunction」値
で「緩和」プロパティキーを追加する必要はありません。ease
プロパティ「animationTimingFunction」はこのプロパティの名前を「easing」に変更し、そのままにします。
入力データ:
let data = {
"a": [{
"opacity": "1",
"offset": "0"
}, {
"opacity": "0",
"offset": "0.25",
"animationTimingFunction": "linear"
}, {
"opacity": "1",
"offset": "0.5"
},
"b": [{
"transform": "scale3d(1, 1, 1)",
"offset": "0"
}, {
"transform": "scale3d(1.05, 1.05, 1.05)",
"offset": "0.5"
}, {
"transform": "scale3d(1, 1, 1)",
"offset": "1"
}]
};
出力は次のようになります。
let data = {
"a": [{
"opacity": "1",
"offset": "0",
"easing": "ease"
}, {
"opacity": "0",
"offset": "0.25",
"easing": "linear"
}, {
"opacity": "1",
"offset": "0.5",
"easing": "ease"
},
"b": [{
"transform": "scale3d(1, 1, 1)",
"offset": "0",
"easing": "ease"
}, {
"transform": "scale3d(1.05, 1.05, 1.05)",
"offset": "0.5",
"easing": "ease"
}, {
"transform": "scale3d(1, 1, 1)",
"offset": "1",
"easing": "ease"
}]
};
私が試してみましたスタートとして、私は条件部を欠場:
let convertEasing = (data) =>{
let convert = data => R.assoc('easing', 'linear');
let result = R.map(R.map(convert(data)), data)
return result;
};
ありがとうScott、私は実際にR.condを使ってみましたが、あなたのバージョンはもっとはっきりしています。 – GibboK