Extjs의 교체 방법

4388 단어
EXTJS에는 여러 가지 교체 방법이 있습니다. 예를 들어 당신이 알고 있는 Ext.each일 수도 있지만, 알려지지 않고 유용한 다른 방법이 있습니다.먼저 Ext.each를 간략하게 살펴보겠습니다.

Ext.each


모든 수조의 구성원을 위해 같은 방법을 응용하는데, 그것은 기본적으로 더욱 편리한 순환 형식이다
var people = ['Bill', 'Saul', 'Gaius'];

//using each to detect Cylons:
Ext.each(people, function (person, index)
{
    var cylon = (index + 1) % 2 == 0; //every second man is a toaster
    alert(person + (cylon ? ' is ' : ' is not ') + 'a fraking cylon');
});

//is the same as
for (var i = 0; i < people.length; i++)
{
    var person = people[i];
    var cylon = (index + 1) % 2 == 0; //every second man is a toaster

    alert(person + (cylon ? ' is ' : ' is not ') + 'a frakin cylon');
};

Ext.iterate

Ext.iterate는 Ext.each와 유사하게 비수조 대상을 대상으로 합니다.일반적으로 for-in 순환에 사용됩니다.
var ships = { 'Bill': 'Galactica', 'Laura': 'Colonial One' };

Ext.iterate(ships, function (key, value)
{
    alert(key + "'s ship is the " + value);
});

//is the same as
for (key in ships)
{
    var value = ships[key];
    alert(key + "'s ship is the " + value);
}

Ext.iterate를 사용하여 배열에서 Ext.each와 동일합니다.each와iterate 방법은 세 번째 선택할 수 있는 매개 변수scope가 있습니다.또 다른 유용한 기교는 같은 방법을 더욱 편리하게 다시 사용할 수 있다는 것이다.
var myFunction = function (item, index)
{
    //does some clever thing
}

Ext.each(people, myFunction);
Ext.each(['another', 'array'], myFunction);

Ext.pluck

(4.0.0 이후 유행이 지났음) Ext.pluck는 대상 그룹에서 특정한 속성을 포착합니다
var animals = [
  { name: 'Ed', species: 'Unknown' },
  { name: 'Bumble', species: 'Cat' },
  { name: 'Triumph', species: 'Insult Dog' }
];

Ext.pluck(animals, 'species'); //returns ['Unknown', 'Cat', 'Insult Dog']
Ext.pluck(animals, 'name'); //returns ['Ed', 'Bumble', 'Triumph']

이 방법은 4.0.0에서 권장하지 않습니다. Ext.Array를 사용하십시오.pluck 대체.

Ext.invoke


(4.0.0 이후 유행이 지났음) 그룹의 모든 구성원이 같은 방법을 사용하고 결과를 되돌려줍니다. 위의 animals를 사용합니다.
var describeAnimal = function (animal)
{
    return String.format("{0} is a {1}", animal.name, animal.species);
}

var describedAnimals = Ext.invoke(animals, describeAnimal);
console.log(describedAnimals); // ['Ed is a Unknown', 'Bumble is a Cat', 'Triumph is a Insult Dog'];

Ext.invoke는 루비의 집합 방법과 유사하여 수조를 더욱 쉽게 변환할 수 있으며, 추가된 매개 변수는 Ext.invoke를 통해 전달할 수 있다.이 방법은 4.0.0에서 권장하지 않습니다. 4.X 시리즈 버전이 제거됩니다.

Ext.Partition


Ext.Partition은 배열을 두 부분으로 분할합니다.
var trees = [
  { name: 'Oak', height: 20 },
  { name: 'Willow', height: 10 },
  { name: 'Cactus', height: 5 }
];

var isTall = function (tree) { return tree.height > 15 };

Ext.partition(trees, isTall);

//returns:
[
  [{ name: 'Oak', height: 20}],
  [{ name: 'Willow', height: 10 }, { name: 'Cactus', height: 5}]
]

이 방법은 4.0.0에서 권장하지 않습니다. 4.X 시리즈 버전이 제거됩니다.

수학 방법

var numbers = [1, 2, 3, 4, 5];
Ext.min(numbers); //1
Ext.max(numbers); //5
Ext.sum(numbers); //15
Ext.mean(numbers); //3

원문 주소: Ext JS iterator functions

좋은 웹페이지 즐겨찾기