이 글에서는 Vue의 for 객체에 특정 참조 값이 있을 때 음수가 아닌 정수 문제를 해결하는 방법을 주로 소개합니다. 이제 필요한 친구들이 참고할 수 있습니다. request 개체의 경우 개체의 속성은 모두 숫자입니다
하지만 이 개체에 기본 속성과 값을 추가하고 싶습니다
원본 개체는 {5446:"Guangzhou City"}입니다. . . . . 다음과 유사합니다
그런 다음 내 페이지에 "Select City"인 기본값을 표시하고 싶습니다
그런 다음 개체 앞에 {"":"Select City"}를 추가합니다
하지만 현실은 그렇지 않습니다. 내 생각대로 이 개체를 반복하여 아래쪽이 아닌 위쪽에 있는 도시를 선택했지만 분명히 내 개체는 {"":"Select City",5446:"Guangzhou City"였습니다. ... ...} 이렇게
선택한 도시가 왜 아직도 목록 하단에 있는 걸까요? 그러다가 정보를 확인하러 갔습니다
그런 다음 vue 공식 홈페이지에 for in이 Object.keys로 정렬되어 있는 것을 봤습니다.
Object.keys와 for ...in은 같습니다(이 문장에 문제가 있는지는 모르겠습니다)
그럼 콘솔에서 시연해 봤습니다
var a={"":"123",name:"wenwen"} for(var i in a){console.log(i)} "" name
정상적으로 표시되었습니다
그때 뭔가 이상합니다 속성이 음수가 아닌 경우 발생합니다
var a={"":"123",123:"这是一个数字123",12:"这是一个数字12"} for(var i in a){console.log(i)} 123 ""
정수가 정수인 경우
문제를 찾으셨나요? 생각했던 것과 다릅니다 "" 123 12 이렇게 인쇄되었습니다 먼저 ParseFloat 값이 모든 키 중 음수가 아닌 정수인 속성을 추출한 다음 비교합니다. 숫자 순서에 따라 속성 정렬을 먼저 순회한 다음 개체에 정의된 순서대로 나머지 모든 속성을 순회합니다. 다른 브라우저는 객체가 정의된 순서대로 속성을 정확하게 탐색합니다.
새 버전의 속성 순회 순서 설명이 이전 버전과 다르기 때문에 ECMA-262 제3판 사양에 따라 구현된 JavaScript 구문 분석 엔진이 for-in 문을 제5판과 다르게 처리하게 됩니다. 구현된 파싱 엔진은 속성 순회 순서에 일관성이 없는 문제가 있습니다.
위 내용은 Vue의 객체에서 속성이 음수가 아닌 정수인 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!