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
的新密钥的最佳方法是什么。
答案 0 :(得分:4)
答案 1 :(得分:3)
在利用库为你做这件事之前,你应该养成如何自己解决这些问题的习惯。如果你正在努力解决这个基本问题,你可能想要重新考虑你对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"}
// ]
如果你坚持使用Ramda,你可能正在寻找R.zip
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,下次你问一个问题时,你应该包括预期的输出。