구글링하는 방법을 전혀 모르겠습니다.
AngularJS를 사용하여 JSON 형식의 API에서 'persons'목록을 얻고이를 JS 배열 / 객체로 변환하는 경우 :
[
{firstName: 'Foo', lastName: 'Bar'},
{firstName: 'Banana', lastName: 'Fruit'}
]
그리고 이름과 성을 fullName에 결합하는 일반적인 기능을 원합니다.
그러면 일반적으로 솔루션 1 또는 2를 사용하는 것이 더 나은 것으로 간주됩니까?
솔루션 1 배열은 내부에 필요한 모든 메서드를 가진 객체로 구성됩니다.
[
{firstName: 'Foo', lastName: 'Bar', fullName: function(){return this.firstName+' '+this.lastName;}},
{firstName: 'Banana', lastName: 'Fruit', fullName: function(){return this.firstName+' '+this.lastName;}}
]
나는 이것이 가장 OOP 솔루션이라고 생각하지만 Javascript (및 긴 목록)의 경우에도 최상의 솔루션입니까?
해결 방법 2 한 번만 인스턴스화되는 도우미 함수를 만듭니다.
var helper = function(person)
{
return person.firstName+' '+person.lastName;
}
나는 이것이 매우 기본적이라는 것을 알고 있지만 때로는 그것이 바로 잡기에 가장 좋은 것입니다.)
첫 번째 솔루션에서는 모든 객체에 함수를 추가하는 것이 힘들고, 많은 객체가 있고 다른 객체를 반복하면 그것이 최선이라고 생각하지 않습니다.
두 번째는 더 가볍습니다.
또 다른 아이디어 :
다음과 같이 JSON을 특정 개체로 구문 분석 할 수 있습니다.
JavaScript에서 JSON 문자열을 특정 개체 프로토 타입으로 구문 분석
그런 다음 프로토 타입을 사용합니다.
Foo.prototype.fullname = function (){
return this.firstName+' '+this.lastName;
}
따라서 모든 Foo 객체는 프로토 타입을 통해 fullname ()을 호출 할 수 있습니다 (메모리에서는 한 번만 vs 모든 객체에서는).
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다