2017-07-11 41 views
0

我在響應應用程序中使用lodash來更新和刪除數組中包含隨後更新組件狀態並保存到localStorage的對象的嵌套元素。lodash _.pullAt在路徑中返回undefined

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

我是新來的lodash,但什麼是刪除元素的路徑沒有返回null或undefined的最佳方式是什麼?

回答

0

_.pullAt採用整數,而不是字符串

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

如果我刪除的孩子,在問題[0] .subQ [0]?我會怎麼做? 我在React中有一個表單構建器,並將每個子元素與一個路徑屬性相對應,這個路徑屬性對應於它在問題中的位置。這就是我使用._set更新輸入的方式。 – nzoLogic

+0

用你的數組替換'question',在這種情況下'questions [0] .subQ' – user3080953