2016-12-21 90 views
0

如何使用單行語句使用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] 

回答

5

Ramda的append作品 「推」 一號PARAM進入第二PARAM的克隆,這應該是一個數組:

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) 
2

如果你想只使用基本的JavaScript,你可以這樣做:

return { 
    ...state, 
    taggable_friends: [...state.taggable_friends, action.payload], 
} 
相關問題