将一个数组与另一个数组进行比较,并使用angular js将不常见的值推送到新数组

时间:2017-03-02 09:56:34

标签: javascript angularjs arrays

我有一个嵌套数组(procdata):

  

[[2017年2月14" 日,NULL,23.0, “文件”, “T1632”,“2   咬翼片 “290]],[[ ”2017年3月1日“,NULL,10.0, ”文件“, ”T1254“, ”氟“,289],[ ”2017年3月1日“,NULL,40.0,”文档 “ ”T1632“,” 4   咬翼片”,288]]

和另一个数组(paySplitdata)如下:

  

[[290]]

我试过的代码:

    private static int displayFontPanel(JFrame w){
      JFrame window = new JFrame("Font Settings");
      window.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
      JPanel panel = new JPanel();
      panel.setLayout(new BorderLayout());
      final AtomicInteger fontSize = new AtomicInteger(14);
      window.setSize(400, 200);
      window.setLocationRelativeTo(w);
      JSlider fntSize = new JSlider(8,40,20);
      fntSize.addChangeListener(new ChangeListener()   {
        public void stateChanged(ChangeEvent evt) {
            fontSize.set(((JSlider)evt.getSource()).getValue());
        }
      });
      fntSize.setLabelTable( fntSize.createStandardLabels(8) );
      fntSize.setPaintLabels(true);
      panel.add(fntSize, BorderLayout.CENTER);
      window.setContentPane(panel);
      window.setVisible(true);
      return fontSize.get();
}

我得到数组(差异):

  

[[289],[288]

但是我希望过滤索引[6]后的新数组如下:

  

[[ “2017年3月1日”,NULL,10.0, “文件”, “T1254”, “氟”,289]],
  [[ “2017年3月1日”,NULL,40.0, “文件”, “T1632”, “4Bitewings”,288]]

1 个答案:

答案 0 :(得分:0)

您可以Array#filterArray#indexOf一起查看数字是否在数组paySplitdata中。

结果是一个数组,其中的项目不包含paySplitdata的数字。

var procdata = [["2017-02-14", null, 23.0, "Doc", "T1632", "2 Bitewings", 290], ["2017-03-01", null, 10.0, "Doc", "T1254", "Fluoride", 289], ["2017-03-01", null, 40.0, "Doc", "T1632", "4 Bitewings", 288]],
    paySplitdata = [290],
    diff = procdata.filter(function (a) {
        return paySplitdata.indexOf(a[6]) === -1;
    });

console.log(diff);
.as-console-wrapper { max-height: 100% !important; top: 0; }