Как удалить массив из другого массива в JavaScript - PullRequest
1 голос
/ 29 марта 2019
0: {id: 1553825061863, name: "Thai Milk Tea", qty: "1", total_amount: 9500, toppings: 500, …}
1: {id: 1553825061863, name: "Thai Milk Tea", qty: "1", total_amount: 9500, toppings: 500, …}
2: {id: 1553825061863, name: "Thai Milk Tea", qty: "1", total_amount: 9500, toppings: 500, …}

Я хочу удалить массив 0:{} в массиве. как я могу удалить? а как найти стоимость первого предмета?

Ответы [ 6 ]

2 голосов
/ 29 марта 2019

Это может быть несколько способов.

Использование shift()

let arr = [{id: 1553825061863, name: "Thai Milk Tea", qty: "1", total_amount: 9500, toppings: 500}, {id: 1553825061863, name: "Thai Milk Tea", qty: "1", total_amount: 9500, toppings: 500}, {id: 1553825061863, name: "Thai Milk Tea", qty: "1", total_amount: 9500, toppings: 500}]

arr.shift();
console.log(arr);

Примечание : shift() изменит исходный массив.

Использование splice()

let arr = [{id: 1553825061863, name: "Thai Milk Tea", qty: "1", total_amount: 9500, toppings: 500}, {id: 1553825061863, name: "Thai Milk Tea", qty: "1", total_amount: 9500, toppings: 500}, {id: 1553825061863, name: "Thai Milk Tea", qty: "1", total_amount: 9500, toppings: 500}]

arr.splice(0,1);
console.log(arr);

Примечание : splice() изменит исходный массив.

Использование slice

let arr = [{id: 1553825061863, name: "Thai Milk Tea", qty: "1", total_amount: 9500, toppings: 500}, {id: 1553825061863, name: "Thai Milk Tea", qty: "1", total_amount: 9500, toppings: 500}, {id: 1553825061863, name: "Thai Milk Tea", qty: "1", total_amount: 9500, toppings: 500}]

let res = arr.slice(1)
console.log(res);

Использование оператора распространения и присвоения деструктуры

let arr = [{id: 1553825061863, name: "Thai Milk Tea", qty: "1", total_amount: 9500, toppings: 500}, {id: 1553825061863, name: "Thai Milk Tea", qty: "1", total_amount: 9500, toppings: 500}, {id: 1553825061863, name: "Thai Milk Tea", qty: "1", total_amount: 9500, toppings: 500}]

const [,...rest] = arr
console.log(rest);
2 голосов
/ 29 марта 2019

Поскольку первый элемент массива всегда имеет индекс 0, вы можете использовать Array.prototype.shift, который удаляет первый элемент:

const array = [{
  id: 1553825061863,
  name: "Thai Milk Tea",
  qty: "1",
  total_amount: 9500,
  toppings: 500
}, {
  id: 1553825061863,
  name: "Thai Milk Tea",
  qty: "1",
  total_amount: 9500,
  toppings: 500
}, {
  id: 1553825061863,
  name: "Thai Milk Tea",
  qty: "1",
  total_amount: 9500,
  toppings: 500
}];

let remainingArray = array;
remainingArray.shift();

console.log(remainingArray);
.as-console-wrapper {
  max-height: 100% !important;
  top: auto;
}
1 голос
/ 29 марта 2019

Как я понял из вашего вопроса, у вас есть что-то вроде ниже, что вы должны удалить Array2 из Array1,

Array1 = 0: {id: 1553825061863, name: "Thai Milk Tea", qty: "1", total_amount: 9500, toppings: 500, …}
         1: {id: 1553825061863, name: "Thai Milk Tea", qty: "1", total_amount: 9500, toppings: 500, …}
         2: {id: 1553825061863, name: "Thai Milk Tea", qty: "1", total_amount: 9500, toppings: 500, …}

Array2 = 0: {id: 1553825061863, name: "Thai Milk Tea", qty: "1", total_amount: 9500, toppings: 500, …}

Если это так, попробуйте, как показано ниже, используя функцию фильтра.

    var data = Array1; 
    var selectedRows = Array2; 

    var unSelectedRows = [];
    var unSelectedRows = data.filter( function( el ) {
      return !selectedRows.includes( el );
    } );

1-й и 2-й элемент можно получить в массиве unSelectedRows.

0 голосов
/ 29 марта 2019

У вас есть массив объектов Javascript.Вы можете удалить первый элемент с помощью:

с помощью функции shift, например:

var first = fruits.shift(); // remove Apple from the front

с помощью функции splice, например - удалить элемент по позиции индекса:

var removedItem = fruits.splice(pos, 1); // this is how to remove an item

вы можете получить доступ к значению элемента по индексу, например:

var first = fruits[0];

вы можете найти значение поля с помощью foreach, например:

fruits.forEach(function(item, index, array) {
    if (item.id === 1553825061863) {
        console.log(item, index);
    }
});
0 голосов
/ 29 марта 2019

простой способ удалить один массив из массива индекса, используя

var ar = ['zero', 'one', 'two', 'three'];
ar.shift(); // returns "zero"
console.log( ar );

если массив подобен этому, вы можете удалить 0 индекса, используя следующую команду.

var ar = [
            {  id: 155382506003,  toppings: 500}, 
            {  id: 155382506002,  toppings: 100},
            {  id: 155382506001,  toppings: 200}
            ];
  ar.shift();
console.log( ar );
0 голосов
/ 29 марта 2019
//try this on your console. You can use the shift operator to shift the first element.
//also to remove the last element use pop
>>var myArr = [{id : 1, name: "A"}, {id: 2, name: "B"}, {id:3, name: "C"}];
undefined
>>myArr.shift(0);
{id: 1, name: "A"}
>>myArr
0: {id: 2, name: "B"}
1: {id: 3, name: "C"}

Вот подробная ссылка о Array.protoType.shift () который удаляет первый элемент:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...