JSFiddle - React, Tailwind, and code Playground

by ysuper

HTML

foreach沒有break怎麼辦?
<a href="http://jser.me/2014/04/02/%E5%A6%82%E4%BD%95%E5%9C%A8Array.forEach%E7%9A%84%E5%BE%AA%E7%8E%AF%E9%87%8Cbreak.html" target="_blank">最应该使用的every & some</a>

JavaScript

all_size_table = '[[\"A\",\"a\",\"8\",\"4\",\"Calliper\",\"a\",\"R\"],[\"B\",\"b\",\"7\",\"3\",\"2.5D projector\",\"oK\",\"A\"],[\"1\",\"c\",\"6\",\"2\",\"assembly\",\"oK\",\"A\"],[\"2\",\"d\",\"5\",\"1\",\"Pin Gauge\",\"oK\",\"A\"]]'

key_size_table = '[[\"Specs\",\"a\",\"b\",\"\"],[\"Upper\",\"8\",\"7\",\"\"],[\"Lower\",\"4\",\"3\",\"\"],[\"Inspection Method\",\"Calliper\",\"2.5D projector\",\"\"],[\"Sample 1\",\"oK\",\"oK\",\"A\"],[\"Sample 2\",\"oK\",\"oK\",\"A\"],[\"Sample 3\",\"oK\",\"oK\",\"A\"],[\"Sample 4\",\"oK\",\"oK\",\"A\"],[\"Sample 5\",\"oK\",\"oK\",\"A\"],[\"Sample 6\",\"oK\",\"oK\",\"A\"],[\"Sample 7\",\"oK\",\"oK\",\"A\"],[\"Sample 8\",\"oK\",\"oK\",\"A\"],[\"Sample 9\",\"oK\",\"oK\",\"A\"],[\"Sample 10\",\"oK\",\"oK\",\"A\"],[\"Sample 11\",\"oK\",\"oK\",\"A\"],[\"Sample 12\",\"oK\",\"oK\",\"A\"]]'

all_size_table = JSON.parse(all_size_table)
key_size_table = JSON.parse(key_size_table)

console.log(check_result(all_size_table, key_size_table))

function check_result(all_size_table, key_size_table) {
  var result
  all_size_table.some(function(value, index, _arr) {
    lastfield = value.pop()
    if (lastfield == 'A') {
      result = 'A'
    } else {
      result = 'R'
      return true
    }
  });

	if (result == 'A') {
		for (var index = 0; index < key_size_table.length; index++) {
			if (index >= 4) {
				lastfield = key_size_table[index].pop()
				if (lastfield == 'A') {
					result = 'A'
				} else {
					result = 'R'
					break
				}
			}
		}
	}

  return '(' + result + ')'
}