1
그것은 내게 정말 귀찮은 일이며, 내 일의 일부이기 때문에 중요합니다. 기본적으로 호스트 이름을 구문 분석하고 그 이름의 다른 부분에 레이블을 넣는 객체를 만들었습니다. 매우 간단합니다. 맞습니까? 그러나 행의 여러 인스턴스를 만들면 다른 모든 인스턴스는 공백으로 표시되고 _proto 및 몇 가지 기능 만 있으면됩니다. 데이터가 전혀 없습니다.이전 버전의 Chrome에서 내가 루프로 만드는 모든 다른 객체가 공백으로 표시되는 이유는 무엇입니까?
이전 버전의 Chrome을 사용하고 있다는 점에 유의해야합니다 (이전 버전의 네트워크가 폐쇄 회로이며 인터넷상의 소프트웨어를 업데이트 할 수 없기 때문에 사용해야합니다). 같은 코드가 집에서 작동합니다.
내가 뭘 잘못 했습니까? 미리 감사드립니다.
var reg = /([A,B,C,D,E])(\d{3})(\d{2})([F,G,H])(\d{2})/i;
var hostParser = function(hostname) {
var parsed = reg.exec(hostname);
if (parsed) {
this.prefix = parsed[1];
this.arena = parsed[2];
this.waitingRoom = parsed[3];
this.adminStatus = parsed[4];
this.ID = parsed[5];
this.hostname = hostname.toUpperCase();
return this;
}
return false;
};
Array.prototype.eliminateDuplicates = function() {
var r = [];
this.forEach(function(n) {
if (r.indexOf(n) < 0)
r.push(n);
});
return r;
};
Array.prototype.trim = function() {
var r = [];
this.forEach(function (n) {
if (!/^\s?$/.test(n))
r.push(n);
});
return r;
};
var list = [
'A40800G01',
'A40800G02',
'A40800G03',
'A40800G04',
'A40800G05',
'A40800G06',
'A40800G07',
'A40800G08',
'A40800G09'
];
list.trim().eliminateDuplicates().forEach(function (item) {
var itemParser = new hostParser(item);
console.log(itemParser);
});
hostParser 내에 구문 분석 된 변수를 기록하려고 했습니까? forEach에도 항목을 기록하려고 했습니까? 무엇이 출력됩니까? –
현재 버전에서 예상대로 작동하는 Chrome 버그가 최신 버전으로 수정되었습니다. 컴퓨터의 chrome : // 버전 (Chrome 버전에서 버그가 발생 함)의 출력은 무엇입니까? 이를 통해 https://www.chromestatus.com에서 사용자가 겪고있는 것과 유사한 소리를내는 고정 된 버그를 검색 할 수 있습니다. –
예. 프로토 타입 함수만으로 구성된 객체 {}는 어디에서나 '정의되지 않은'곳으로 이동할 수 있습니다. – JoeTheMan