5-dojo/_base/array

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<meta charset="utf-8" />
<script src="dojoTools/dojo/dojo.js.uncompressed.js"></script>
<script>
//数组的操作方法
require(["dojo/dom", "dojo/dom-construct", "dojo/dom-attr", "dojo/_base/array", "dojo/on", "dojo/string", "dojo/domReady!"], function (dom, domConstruct, domAttr, array, on, string) {
//1.array.indexOf(arrayObject,valueToFind,fromIndex,findLast);
//如果为找到,返回-1
var arrIndexOf = ["foo", "hoo", "zoo", "foo", "hoo", "zoo"];

on(dom.byId("btnIndexOf"), "click", function () {
//查找第一个匹配的项
//var position = array.indexOf(arrIndexOf, "zoo");
var position = array.lastIndexOf(arrIndexOf, "hoo");

domConstruct.place(
"<p>The last index of the word 'hoo' within the array is " + position + "</p>",
dom.byId("btnIndexOf"),
"after"
);
});

//2.array.forEach(arrayObject,callback,thisObject)
on(dom.byId("brnForEach"), "click", function () {
var count = 0;
domConstruct.empty("ulTest");
array.forEach(arrIndexOf, function (item) {

//domConstruct.place(string.substitute("<p>"));
var node = domConstruct.toDom(string.substitute("<p>第${count}个元素是${item}</p>", { count: ++count, item: item }));
domConstruct.place(node, "ulTest", "last");

});
//调用对象的方法进行遍历
var foo = {
myMethod: function (el) {
console.log(el);
}
}
array.forEach(["a", "b", "c"], function (item) {
this.myMethod(item);
}, foo);

});

//3.array.filter(unfilteredArray,callback,thisObject)
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("btnFilter"), "click", function (evt) {
//当返回true的时候的列表
var filteredArr = array.filter(arr, function (item) {
return item.surname == "Washington";
});

array.forEach(filteredArr, function (item, i) {
domConstruct.create("li", { innerHTML: i + '.' + item.name + ',' }, 'filtered-items')
})
array.forEach(arr, function (item, i) {
domConstruct.create("li", { innerHTML: i + '.' + item.name + ',' }, "unFiltered-items");
})
});

//4.array.map(arrayObject,callback,thisObject);
var arrNums = [1, 2, 34, 54, 56, 7, 8, 9, 0, 3, 313, 1];
//返回一个新的数组...
on(dom.byId("btnMap"), "click", function () {
var arrResult= array.map(arrNums, function (item) {
return item * 2;
});
array.forEach(arrResult, function (item, i) {
console.log(item);
});
});

//5.array.some(arrayObject,callback,thisObject);
var arrIndxSome = [200000, 500000, 350000, 1000000, 75, 3];
var result;
var result1;
on(dom.byId("btnSome"), "click", function () {
//查看是否存在返回true的item

if (array.some(arrIndxSome, function (item) {
return item >= 10000001;
})) {
result="yes,there are ;"
} else {
result = "no,there are no such items";
}
domConstruct.place("<p>"+result+"</p>", "unFiltered-items", "after");
});

//6.array.evey(arrayObject,callback,thisObject);
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 })) {
result1 = "yes, all income >= 3000";
} else {
result1 = "no, not all income >= 3000";
}
domConstruct.place(
"<p>The answer is: " + result1 + "</p>",
"refButton7",
"after"
);
});


});
</script>
</head>
<body>
<button id="btnIndexOf">array.indexOf()方法</button>
<button id="brnForEach">array.forEach()方法</button>
<button id="btnFilter">array.filter()方法</button>
<button id="btnSome">array.some()方法</button>

<button id="btnMap">array.map()方法</button>
<button id="refButton7">array.every()方法</button>

<ul id="ulTest"></ul>
<ul id="filtered-items"></ul>
<ul id="unFiltered-items"></ul>
</body>
</html>

posted on 2016-12-13 15:57  努力的活着_在人间  阅读(154)  评论(0)    收藏  举报

导航