2014-01-30 6 views
0

splice가 작동하는 데 문제가 있습니다.jQuery/JS splice()가 객체 배열에서 작동하지 않습니다.

나는 임 밀어 이러한 개체의 '속성'의

하나의 배열입니다 ... 나는 물체를 넣거나 것을, 배열을 (지금까지 나와 함께?) :

간단한 예를 :

var userPicks = []; 

userPicks.push({casename:caseName, fullname:fullName, trialdate:trialDate, citystate:cityState, plaintiff:plaintiff, itemsordered:itemsOrdered=[{name:itemOrdered, price:itemPrice}]}); 

이 모두 (방화 광)

나는 액세스를 .. 그들을 물건을 밀어 콘솔에서 올바른 데이터를 볼 수 있습니다 ... 벌금과 멋쟁이 작동하지만 내가 뭔가를 스플 라이스하려고 .. I 지 등 방화/콘솔에 에러 .. 그러나

TypeError: userPicks[i].itemsordered[x].splice is not a function 

는, I는 "서브 어레이 '물건을 추가 할 수있다 .. 액세스 (I itemsorderd합니다 ... [X] 배열로 참조합니다)/그들도 읽으십시오 ... ??

console.log("Name Check: "+userPicks[i].itemsordered[x].name); //works 

userPicks[i].itemsordered.push({name:itemOrdered, price:itemPrice}); //works 

그러나 스플 라이스는 작동하지 않습니까?

무엇이 누락 되었습니까? 구문 오류 어떻게 든?

제발, 당신이 '도움'을 제공하고 싶다면 대답하십시오. 단지 당신이 알지 못하거나 도와 줄 시간이 없다는 것을 알려주지 말라.

나는 모든 '진짜'도움이 감사

(추진 및 접근하지만/같은 배열을 읽어 괜찮)) (객체 속성에 배열을 .. 스플 라이스 것 캔트!

감사합니다.

답변

1

당신은 배열이 아닌 객체에 스플 라이스를 호출하려고 :

  • userPicks[i].itemsordered 배열
  • userPicks[i].itemsordered[x] 것은 배열 내부의 객체가 아닌 배열 자체입니다.

당신은 즉, userPicks[i].itemsordered에 스플 라이스를 호출 할 :

userPicks[i].itemsordered.splice(...) 
+1

가 아 .. 당신이 올바른지! 팁을 주셔서 감사합니다. (ANSWER ACCEPTED) – whispers