1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<div class="intro">
<p>DataSchema.Array normalizes arbitrary JavaScript array data against a given schema into an object with known properties.</p>
</div>
<div class="example yui3-skin-sam">
{{>dataschema-array-source}}
</div>
<p>In order to use DataSchema.Array, input data must be a JavaScript array. Within that array, you may have...</p>
<p>...JavaScript objects</p>
```
YUI().use("dataschema-array", function(Y) {
var data_in = [
{make:"Chevrolet",model:"Bel Air",year:1957},
{make:"Dodge",model:"Dart",year:1964},
{make:"Ford",model:"Mustang",year:1968}
],
schema = {
// Or simply: ["make", "model", "year"]
resultFields: [{key:"make"}, {key:"model"}, {key:"year"}]
},
data_out = Y.DataSchema.Array.apply(schema, data_in));
alert(data_out);
});
```
<p>...JavaScript arrays</p>
```
YUI().use("dataschema-array", function(Y) {
var data_in = [
["Chevrolet", "Bel Air", 1957],
["Dodge", "Dart", 1964],
["Ford", "Mustang", 1968]
],
schema = {
// Or simply: ["make", "model", "year"]
resultFields: [{key:"make"}, {key:"model"}, {key:"year"}]
},
data_out = Y.DataSchema.Array.apply(schema, data_in));
alert(data_out);
});
```
<p>...primitive data types</p>
```
YUI().use("dataschema-array", function(Y) {
var data_in = [
"1957 Chevrolet Bel Air", "1964 Dodge Dart", "1968 Ford Mustang"
],
schema = {
// Or simply: ["make", "model", "year"]
resultFields: [{key:"make"}, {key:"model"}, {key:"year"}]
},
data_out = Y.DataSchema.Array.apply(schema, data_in));
alert(data_out);
});
```
<p>...or even a combination.</p>
```
YUI().use("dataschema-array", function(Y) {
var data_in = [
{make:"Chevrolet",model:"Bel Air",year:1957},
["Dodge", "Dart", 1964],
"1968 Ford Mustang"
],
schema = {
// Or simply: ["make", "model", "year"]
resultFields: [{key:"make"}, {key:"model"}, {key:"year"}]
},
data_out = Y.DataSchema.Array.apply(schema, data_in));
alert(data_out);
});
```