dojo 官方翻译 dojo/_base/array 版本1.10
生活随笔
收集整理的這篇文章主要介紹了
dojo 官方翻译 dojo/_base/array 版本1.10
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
官方地址:http://dojotoolkit.org/reference-guide/1.10/dojo/_base/array.html#dojo-base-array
array模塊dojo進行了很好的封裝,如果想要調用必須先加載該模塊:
require(["dojo/_base/array"], function(array){// array contains the features });?
indexOf()
返回值:字符串在數組中第一次出現的位置,如果沒有找到默認返回-1.
require(["dojo/_base/array"], function(array){array.indexOf(arrayObject, valueToFind, fromIndex, findLast); });?
示例:
require(["dojo/_base/array", "dojo/dom", "dojo/dom-construct", "dojo/on", "dojo/domReady!"], function(array, dom, domConst, on){var arrIndxOf = ["foo", "hoo", "zoo"];on(dom.byId("refButton1"), "click", function(){var position = array.indexOf(arrIndxOf, "zoo");domConst.place("<p>The index of the word 'zoo' within the array is " + position + "</p>","result1","after");});}); <div>The content of our test array is <code>["foo", "hoo", "zoo"]</code>.</div> <button id="refButton1" type="button">Show the index of the word 'zoo' within the array.</button> <div id="result1"></div>lastIndexOf()
返回值:字符串在數組中的最后位置,如果沒有找到默認返回-1.
require(["dojo/_base/array"], function(array){array.lastIndexOf(arrayObject, valueToFind, fromIndex); });示例:
require(["dojo/_base/array", "dojo/dom-construct", "dojo/dom", "dojo/on", "dojo/domReady!"], function(array, domConst, dom, on){var arrLastIndxOf = ["foo", "hoo", "zoo", "shoe", "zoo", "nuu"];on(dom.byId("refButton2"), "click", function(){var position = array.lastIndexOf(arrLastIndxOf, "zoo");domConst.place("<p>The last index of the word 'zoo' within the array is " + position + "</p>","result2","after");}); }); <div>The content of our test array is <code>["foo", "hoo", "zoo", "shoe", "zoo", "nuu"]</code>.</div> <button id="refButton2" type="button">Show the last index of the word 'zoo' within the array.</button> <div id="result2"></div>forEach()
遍歷數組或者nodelists。
第三個參數,調節forEach()的訪問范圍。
示例:
require(["dojo/_base/array"], function(array){var foo = {myMethod: function(el){console.log(el);}};array.forEach(["a","b","c"],function(item){this.myMethod(item);}, foo); });如果你想break這個循環,可以使用some()
require(["dojo/_base/array", "dojo/dom", "dojo/on", "dojo/domReady!"], function(array, dom, on){on(dom.byId("start"), "click", function(){var myArray = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],count;// iterate ALL entries of myArraycount = 0;array.forEach(myArray, function(entry){count++;});alert("iterated " + count + " entries (forEach())"); // will show "iterated 10 entries"// let's only iterate the first 4 entries of myArraycount = 0;array.some(myArray, function(entry){if(count >= 4){return false;}count++;});alert("iterated "+count+" entries (some())"); // will show "iterated 4 entries" }); }); <button id="start" type="button">Start Testloops</button>filter()
返回值:數組過濾之后的結果數組。
require(["dojo/_base/array"], function(array){filteredArray = array.filter(unfilteredArray, callback, thisObject); });示例:
require(["dojo/_base/array", "dojo/dom", "dojo/dom-construct", "dojo/on", "dojo/domReady!"], function(array, dom, domConst, on){var arr = [{ surname: "Washington", name: "Paul" },{ surname: "Gordon", name: "Amie" },{ surname: "Meyer", name: "Sofie" },{ surname: "Jaysons", name: "Josh" },{ surname: "Washington", name: "George" },{ surname: "Doormat", name: "Amber" },{ surname: "Smith", name: "Susan" },{ surname: "Hill", name: "Strawberry" },{ surname: "Washington", name: "Dan" },{ surname: "Dojo", name: "Master" }];on(dom.byId("start"), "click", function(){var filteredArr = array.filter(arr, function(item){return item.surname == "Washington";});array.forEach(filteredArr, function(item, i){domConst.create("li", {innerHTML: i+1+". "+item.surname+", "+item.name}, "filtered-items");});array.forEach(arr, function(item, i){domConst.create("li", {innerHTML: i+1+". "+item.surname+", "+item.name}, "unFiltered-items");});}); }); <button id="start" type="button">Filter array</button> <br/> <div style="width: 300px; float: left;">Filtered items<br />(only people with "Washington" as surname)<ul id="filtered-items"></ul> </div> <div style="width: 300px; float: left;">Unfiltered items<br />(all people are represented in the list)<ul id="unFiltered-items"></ul> </div>map()
返回值:經過修改之后的另外一個數組。
require(["dojo/_base/array"], function(array){array.map(arrayObject, callback, thisObject); });示例:
require(["dojo/_base/array", "dojo/dom", "dojo/dom-construct", "dojo/on", "dojo/domReady!"], function(array, dom, domConst, on){var arrValues = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];on(dom.byId("button"), "click", function(){var doubleValue = array.map(arrValues, function(item){return item * 2;});array.forEach(doubleValue, function(item){var li = domConst.create("li");li.innerHTML = item;dom.byId("arrValuesAfter-items").appendChild(li);});array.forEach(arrValues, function(item){var li = domConst.create("li");li.innerHTML = item;dom.byId("arrValues-items").appendChild(li);});}); }); <button id="button" type="button">Run array.map()</button> <br /> <div style="width: 300px; float: left; margin-top: 10px;">Values before running array.map()<ul id="arrValues-items"></ul> </div> <div style="width: 300px; float: left; margin-top: 10px;">Values after running array.map()<ul id="arrValuesAfter-items"></ul> </div>有時候為了不修改原數組本身,dojo提供了dojo/_base/lang::clone()
示例:
require(["dojo/_base/array", "dojo/_base/lang", "dojo/dom", "dojo/dom-construct", "dojo/on", "dojo/domReady!"], function(array, lang, dom, domConst, on){var arrSalary = [{ surname: "Washington", name: "Paul", salary: 200 },{ surname: "Gordon", name: "Amie", salary: 350 },{ surname: "Meyer", name: "Sofie", salary: 100 },{ surname: "Jaysons", name: "Josh", salary: 2500 },{ surname: "Washington", name: "George", salary: 10 },{ surname: "Doormat", name: "Amber", salary: 320 },{ surname: "Smith", name: "Susan", salary: 3200 },{ surname: "Hill", name: "Strawberry", salary: 290 },{ surname: "Washington", name: "Dan", salary: 200 },{ surname: "Dojo", name: "Master", salary: 205 }];on(dom.byId("button"), "click", function(){var raisedSalaries = array.map(arrSalary, function(item){var newItem = lang.clone(item);newItem.salary += (newItem.salary/100)*10;return newItem;});array.forEach(raisedSalaries, function(item, i){var li = domConst.create("li");li.innerHTML = i+1+". "+item.surname+", "+item.name+". New salary: "+item.salary;dom.byId("filteredSalary-items").appendChild(li);});array.forEach(arrSalary, function(item, i){var li = domConst.create("li");li.innerHTML = i+1+". "+item.surname+", "+item.name+". Old salary: "+item.salary;dom.byId("unFilteredSalary-items").appendChild(li);});}); }); <button id="button" type="button">Raise the salary</button> <br /> <div style="width: 300px; float: left; margin-top: 10px;">Peoples' salaries after raise:<ul id="filteredSalary-items"></ul> </div> <div style="width: 300px; float: left; margin-top: 10px;">Peoples' salaries before raise:<ul id="unFilteredSalary-items"></ul> </div>some()
返回值:true or ?false。只要方法里有一個是真,那么其將會返回true。常常被用在if語句中。
require(["dojo/_base/array"], function(array){var a = array.some(arrayObject, callback, thisObject); });示例:檢查是否有一個值 >= 1,000,000。
require(["dojo/_base/array", "dojo/dom", "dojo/dom-construct", "dojo/on", "dojo/domReady!"], function(array, dom, domConst, on){var arrIndxSome = [200000, 500000, 350000, 1000000, 75, 3];on(dom.byId("refButton6"), "click", function(){if(array.some(arrIndxSome, function(item){ return item >= 1000000; })){result = 'yes, there are';}else{result = 'no, there are no such items';}domConst.place("<p>The answer is: " + result + "</p>","result6","after");}); }); <div>The content of our test array is <code>[200000, 500000, 350000, 1000000, 75, 3]</code>.</div> <button id="refButton6" type="button">Are there some items >=1000000 within the array?</button> <div id="result6"></div>every()
返回值:true or false ?。只有當方法里面,每一項都返回true,那么最終才會返回true。常常被用在if語句中。
require(["dojo/_base/array"], function(array){array.every(arrayObject, callback, thisObject); });示例:檢查是否每一項都>3000
require(["dojo/_base/array", "dojo/dom", "dojo/dom-construct", "dojo/on", "dojo/domReady!"], function(array, dom, domConst, on){var arrIndxEvery = [{ month: "january", income: 2000 },{ month: "february", income: 3200 },{ month: "march", income: 2100 }];on(dom.byId("refButton7"), "click", function(){if(array.every(arrIndxEvery , function(item){ return item.income >= 3000; })){result = "yes, all income >= 3000";}else{result = "no, not all income >= 3000";}domConst.place("<p>The answer is: " + result + "</p>","result7","after");}); }); <div>The content of our test array is <code>[{ month: "january", income: 2000 }, { month: "february", income: 3200 }, { month: "march", income: 2100 }]</code>.</div> <button id="refButton7" type="button">Is the client allowed to get the credit?</button> <div id="result7"></div>?
?
總結
以上是生活随笔為你收集整理的dojo 官方翻译 dojo/_base/array 版本1.10的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Flex 容器基本概念
- 下一篇: linux 命令行选项