如何使用带有单行语句的Ramdajs将数组中的元素追加到另一个数组?
state = {
items:[10,11,]
};
newItems = [1,2,3,4];
state = {
...state,
taggable_friends: R.append(action.payload, state.taggable_friends)
};
//now state is [10,11,[1,2,3,4]], but I want [10,11,1,2,3,4]
答案 0 :(得分:5)
Ramda的append
通过将第一个参数“推”到第二个参数的克隆中来工作,该副本应该是一个数组:
R.append('tests', ['write', 'more']); //=> ['write', 'more', 'tests']
R.append(['tests'], ['write', 'more']); //=> ['write', 'more', ['tests']]
在你的情况下:
R.append([1,2,3,4], [10,11]); // => [10,11,[1,2,3,4]]
而是使用RamdaJS的concat
,并反转参数的顺序:
R.concat(state.taggable_friends, action.payload)
答案 1 :(得分:2)
如果您只想使用基本的JavaScript,您可以这样做:
[self addTarget:self action:@selector(onClick:forEvent:) forControlEvents:UIControlEventTouchUpInside];