2017-07-11 2 views
0

Ich benutze Lodash in einer Reagieren-App, um verschachtelte Elemente in einem Array zu aktualisieren und zu löschen, das Objekte enthält, die später meinen Komponentenstatus aktualisieren und in localStorage speichern.lodash _.pullAt zurück undefined bei Pfad

questions = [{"question":"","type":"text","conditions":null,"isSub":false,"subQ":[]}] 
path = '[0]' 

    //returns [undefined x 1] 
function deleteQuestion(path){ 
    const { questions } = this.state 
    _.pullAt(questions, path) 
    this.setState({questions: questions}) 
} 

Ich bin neu in lodash aber was ist die beste Art und Weise Elemente durch einen Pfad zu löschen, ohne null oder nicht definiert Rückkehr?

Antwort

0

_.pullAt nimmt ganzen Zahlen, kein String

_.pullAt(questions, 0) 
console.log(questions) // output is [] 
+0

Was passiert, wenn ich ein Kind bin löschen, die in Fragen der [0] .subQ [0]? Wie würde ich das tun? Ich habe einen Formulargenerator in React und hängt jedes Kind mit einer Pfadeigenschaft an, die seiner Position in Fragen entspricht. So aktualisiere ich die Eingabe mit ._set. – nzoLogic

+0

Ersetzen Sie 'Fragen' durch Ihr Array, in diesem Fall' Fragen [0] .subQ' – user3080953