在jquery中:
var arr = [{name:"a",val:3},{name:"b",val:6},{name:"c",val:7},{name:"d",val:8}];
如何输出
[{name:"c",val:7},{name:"d",val:8}]
注意:当然对象的位置不是恒定的。
答案 0 :(得分:1)
实际上,你不需要这个jQuery。
arr.sort(function(a,b){ return a.val < b.val});
//arr[0] now contains object with the maximum
//arr[1] now contains object with the second greatest value
如果您对数组,对象等更详细的javascript实用程序感兴趣,请查看lodash或underscore.js:
答案 1 :(得分:0)
不知道为什么你想要这些特定的项目,而不知道任何其他的上下文,只被要求创建一些输出(你想要数组中的项目,或者你想将它作为文本输出?)这里是一个抛弃一段代码,这些代码可能会帮助你找出你真正想做的事情。
var arr = [{name:"a",val:3},{name:"b",val:6},{name:"c",val:7},{name:"d",val:8}];
var tarr = [];
function fetch() {
for (var i = 0; i < arr.length; i++) {
if (arr[i].name == "c" || arr[i].name == "d") {
tarr[tarr.length] = arr[i];
}
}
var output = document.getElementById("results");
output.innerHTML += "[";
for (var j = 0; j < tarr.length; j++) {
output.innerHTML += "{name:\"" + tarr[j].name + "\",val:" + tarr[j].val + "}";
if (j < tarr.length - 1) {
output.innerHTML += ",";
}
}
output.innerHTML += "]";
}
fetch();
&#13;
<div id="results"></div>
&#13;