되지 않습니다 :매개 변수 : 'XXX'는 내가 다음과 같은 프로토 타입이 함수
Object.prototype.find = function (path, obj = null) {
let previous = null;
obj = !obj ? this : obj;
for (let i = 0, p = path.split(/[\[\]\.]/), len = p.length; i < len; i++) {
if (p[i] == '') { continue; }
let item = p[i];
obj = obj[item];
previous = obj;
}
return obj;
}
을 나는 다음과 같이 그것을 호출 오전 :
let data = [
{
id: 1
},
{
id: 2
}
];
console.log(data.find('[0].id')) // Error refers to this line
// The result should return 1
내가 다음 오류가 점점 오전 :
를Uncaught TypeError: xxx is not a function
왜이 오류가 발생합니까?
http://jsbin.com/tufuqoz/1/edit?js,console (이 왜 기본 객체의 프로토 타입을 확장하는 좋은 예 나쁜 생각입니다) 문제 ('xxx'는 함수가 아니기 때문에 이것은 아마도 당신이 우리와 공유하지 않은 함수 안에서'path'를 사용하는 것과 관련이 있습니다); – Quentin
함수를 실행하는 것조차 없다, 나는 새롭게 할 것이다. 1 초 ... –
아니요, 아약스 요청 응답이었습니다. 나는 그것을 단순화하기 위해 그것을 업데이트했다. –