У меня есть этот массив, в котором каждый индекс содержит литерал объекта. Все литералы объектов имеют одинаковые свойства. Некоторые литералы объектов имеют одинаковое значение для данного свойства, и я хочу создать новый массив, содержащий только эти литералы объектов.
Моя идея состоит в том, чтобы отсортировать массив и разрезать его на новый массив...
Вот массив:
var arr = [];
arr[0] =
{
country: "United States",
num: 27
};
arr[1] =
{
country: "Australia",
num: 5
};
arr[2] =
{
country: "United States",
num: 7
};
Итак, я хочу создать новый массив, содержащий только те объекты, у которых свойство страна
равно «США». Пока это моя безумная идея, которая не работает:
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();