Javacript 使用 forEach 循环遍历对象数组时遇到问题

问题描述

看起来我根本无法遍历项目。 期待像这样的东西 ['in','STE-00004'] 作为输出 代码

var sales_orders = ['in'];
    var count = 0;
var items = [
    {name: "STE-00004",sales_order_no: "SAL-ORD-2021-00005"},{name: "STE-00003",sales_order_no: "SAL-ORD-2021-00004"},{name: "STE-00002",]

items.forEach(function(item){
        if(sales_orders.indexOf(item.name) == -1){
            count++;
            sales_orders.push(item.name);
            console.log(sales_orders);
            console.log(count);
        }
    });

解决方法

要获得所需的输出,您需要使用空 array 并在推送时使用 ['in',value]

var sales_orders = [];
var count = 0;
var items = [{
    name: "STE-00004",sales_order_no: "SAL-ORD-2021-00005"
  },{
    name: "STE-00003",sales_order_no: "SAL-ORD-2021-00004"
  },{
    name: "STE-00002",]

items.forEach(function(item) {
  if (sales_orders.indexOf(item.name) == -1) {
    count++;
    sales_orders.push(['in',item.name]);

  }
});
console.log(sales_orders);