我有以下内容:
var X = $('p:first');
$(X).each(function(index,Element) {
tbody = '';
tr = '<tr><td>' + index + '</td><td>';
var arr = [];
var typ = [];
for (prop in Element) {
arr[arr.length] = prop;
typ[arr.length] = typeof Element[prop];
}
arr = arr.sort();
for (var i=0,ii=arr.length;i<ii;i++) {
tbody += tr + arr[i] + '</td><td>' + typ[i] + '</td></tr>';
tr = '<tr><td> </td><td>';
}
});
$('body').append('<table class="border">' + tbody + '</table>');
Run Code Online (Sandbox Code Playgroud)
问:如何重写以消除typ数组,而不是使arr成为二维数组?
你可以使它成为一个对象数组:
var arr = [];
for (prop in Element) {
arr.push({ name: prop, type: typeof Element[prop] });
}
Run Code Online (Sandbox Code Playgroud)
你必须改变".sort()":
arr = arr.sort(function(a, b) { return a.name > b.name ? 1 : a.name < b.name ? -1 : 0; });
Run Code Online (Sandbox Code Playgroud)