2017-07-18 4 views
2

Se il vous plaît dire comment puis-je écrire le même mais sans index avant épissure. C'est possible?épissure dans les aides d'immunité

var a = [[1,2,3],[1,2,3],[1,2,3],[1,2,3]]; 


let c = update(a, {0:{$splice: [[0,1]] },1:{$splice: [[0,1]] }, 2:{$splice: [[0,1]] }, 3:{$splice: [[0,1]] }}) 
console.log(c) 

link jsfiidle

J'ai besoin de supprimer un élément de chaque tableau, mais tableau général sera dynamique. Y at-il une syntaxe pour l'épissage où je ne peux pas écrire l'index de chaque tableau? et la mise à jour comprendra

+0

est une raison particulière vous ne pouvez pas simplement utiliser 'a.map (array => Array.slice (1, array.length)) ' – danielspaniol

+0

non, je dois utiliser l'épissure de la bibliothèque d'aide d'immutabilité –

Répondre

2

Essayez ceci:

const update = immutabilityHelper; 
 

 
let a = [[1,2,3],[1,2,3],[1,2,3],[1,2,3]]; 
 
let c = update(a, {$apply: el => el.map(inner => update(inner, {$splice: [[0, 1]]}))}) 
 
console.log(JSON.stringify(a)) 
 
console.log(JSON.stringify(c))
<script src="https://wzrd.in/standalone/immutability-helper?.js"></script> 
 
<script src="https://npmcdn.com/[email protected]/dist/preact.js"></script>

+0

Merci l'homme, a déjà fait comme ça. Marquez votre réponse comme correcte. –