![](/img/trans.png)
[英]How do I apply a composed function to each object in a list using Ramda?
[英]How to convert this _.each function that adds a key to each object into Ramda?
http://jsfiddle.net/leongaban/4xfc4g3c/1/
const spamData = [true, true, false];
const tweets = [{ tweet: "Hello" }, { tweet: "World" }, { tweet: "Pork"}];
_.each(spamData, (value, i) => {
tweets[i]['spam'] = value;
});
log(tweets);
此時卡住:
const setSpamValues = (spamValue) => {
return spamValue;
};
R.forEach(setSpamValues, spamData);
不確定現在將返回的spamValue
發送到每個推文中名為spam
的新密鑰的最佳方法是什么。
在利用圖書館為您服務之前,您應該養成思考如何自行解決這些問題的習慣。 如果您正在解決這個基本問題,則可能需要重新考慮完全使用Ramda。 一旦您了解了Ramda提供的實用程序,也許就可以使用它了。
這就是您要尋找的結果,僅使用普通的JavaScript。
const spamData = [true, true, false]; const tweets = [{ tweet: "Hello" }, { tweet: "World" }, { tweet: "Pork"}]; let result = tweets.map((t,i) => Object.assign({}, t, {spam: spamData[i]}) ); console.log(result); // [ // {"spam": true, "tweet": "Hello"}, // {"spam": true, "tweet": "World"}, // {"spam": false, "tweet": "Pork"} // ]
const spamData = [true, true, false]; const tweets = [{ tweet: "Hello" }, { tweet: "World" }, { tweet: "Pork"}]; let result = R.zip(spamData, tweets).map(([spam, tweet]) => Object.assign({}, tweet, {spam}) ); console.log(result); // [ // {"spam": true, "tweet": "Hello"}, // {"spam": true, "tweet": "World"}, // {"spam": false, "tweet": "Pork"} // ]
<script src="https://cdnjs.cloudflare.com/ajax/libs/ramda/0.22.1/ramda.js"></script>
ps,下次您提出問題時,應包括預期的輸出。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.