data:[
  { user: "2016-04-14", avg_: "13", new: "32511.20" },
  { user: "2016-04-21", avg_: "32", new: "32779.17" },
  { user: "2016-04-22", avg_: "32", new: "32898.40" },
  { user: "2016-04-23", avg_: "32", new: "32903.11" },
  { user: "2016-04-24", avg_: "32", new: "329" },
  { user: "2016-04-25", avg_: "3298", new: "32962.78" }
];

Я попробовал и успешно удалил последние два элемента

for (var i = 1; i <= 2; i++) {
    var s = data.splice(-1, i);
    console.log(s);
}

Теперь я не хочу повторять эту логику, чтобы удалить первые две идеи?

3
Prakash Pandey 24 Окт 2018 в 08:03

2 ответа

Лучший ответ

Вы можете просто получить первые два, а также последний элемент без цикла, используя только slice

const data = [
        {user: "2016-04-14", avg_: "13", new: "32511.20"},
        {user: "2016-04-21", avg_: "32", new: "32779.17"},
        {user: "2016-04-22", avg_: "32", new: "32898.40"},
        {user: "2016-04-23", avg_: "32", new: "32903.11"},
        {user: "2016-04-24", avg_: "32", new: "329"},
        {user: "2016-04-25", avg_: "3298", new: "32962.78"}
      ];
    
    const res = [...data.slice(0, 2), ...data.slice(-2)]
console.log(res);

Или если вы хотите удалить первые и последние два и оставить остальные, вы можете написать это как

const data = [
        {user: "2016-04-14", avg_: "13", new: "32511.20"},
        {user: "2016-04-21", avg_: "32", new: "32779.17"},
        {user: "2016-04-22", avg_: "32", new: "32898.40"},
        {user: "2016-04-23", avg_: "32", new: "32903.11"},
        {user: "2016-04-24", avg_: "32", new: "329"},
        {user: "2016-04-25", avg_: "3298", new: "32962.78"}
      ];
    
    const res = data.slice(2, -2)
console.log(res);
3
Shubham Khatri 24 Окт 2018 в 05:13

Очень простой способ - просто вызовите эти функции:

arr.pop():
arr.pop();
arr.shift();
arr.shift();

И два первых и два последних элемента будут удалены.

1
Jack Bashford 24 Окт 2018 в 05:13
52961389