首页 > 解决方案 > 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", sales_order_no: "SAL-ORD-2021-00004"},
]

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

标签: javascriptarraysloopsforeach

解决方案


要获得所需的输出,您需要使用 emptyarray并且在推送时使用['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",
    sales_order_no: "SAL-ORD-2021-00004"
  },
]

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

  }
});
console.log(sales_orders);


推荐阅读