values-of-key.js 544 B

123456789101112131415161718192021222324
  1. var isNil = require('../type/is-nil');
  2. var isArray = require('../type/is-array');
  3. var each = require('../each');
  4. module.exports = function valuesOfKey(data, name) {
  5. var rst = [];
  6. var tmpMap = {};
  7. for (var i = 0; i < data.length; i++) {
  8. var obj = data[i];
  9. var value = obj[name];
  10. if (!isNil(value)) {
  11. if (!isArray(value)) {
  12. value = [value];
  13. }
  14. each(value, function (val) {
  15. if (!tmpMap[val]) {
  16. rst.push(val);
  17. tmpMap[val] = true;
  18. }
  19. });
  20. }
  21. }
  22. return rst;
  23. };