Ian*_*ell 5 javascript arrays sorting object-literal slice
我有这个数组,其中每个索引包含一个对象文字.所有对象文字都具有相同的属性.一些对象文字对于给定的属性具有相同的值,我想创建一个仅包含那些对象文字的新数组.
我的想法是对数组进行排序,并将其切成新的数组......
这是数组:
var arr = [];
arr[0] =
{
country: "United States",
num: 27
};
arr[1] =
{
country: "Australia",
num: 5
};
arr[2] =
{
country: "United States",
num: 7
};
Run Code Online (Sandbox Code Playgroud)
所以,我想创建一个新的数组,只包含属性country为"United States"的那些对象.到目前为止,这是我的疯狂想法,但这不起作用:
function getNewArray(arr)
{
var arr2 = [];
for(var key in arr)
{
for(var i = 0; i < arr.length - 1; i++)
{
if(arr.hasOwnProperty(key) && arr[i].name == arr[i + 1].name)
{
arr2[i] = arr.slice(key);
}
}
}
return arr2;
}
var arr3 = getNewArray(arr).sort();
Run Code Online (Sandbox Code Playgroud)
var getCountry = function (country) {
var out = [];
for (var i = 0, len = arr.length; i < len; i++)
if (arr[i].country === country) out.push(arr[i]);
return out;
};
Run Code Online (Sandbox Code Playgroud)
演示: http: //jsfiddle.net/YwytD/1/
| 归档时间: |
|
| 查看次数: |
16277 次 |
| 最近记录: |