Javascript 获得总销售额

Javascript 获得总销售额,javascript,Javascript,我创建了一个函数,它将返回一个无重复分支的对象和每个分支的总销售额 var salesPersons = [ {"name": {"first": "Aleen", "last" :"Atkins"}, "sales" : "$2314", "branch": "Austin, TX"}, {"name": {"first": "Alvaro", "last" :"Angelos"}, "sales" : "$1668", "branch": "New Y

我创建了一个函数,它将返回一个无重复分支的对象和每个分支的总销售额

    var salesPersons = [
        {"name": {"first": "Aleen", "last" :"Atkins"}, "sales" : "$2314", "branch": "Austin, TX"},
        {"name": {"first": "Alvaro", "last" :"Angelos"}, "sales" : "$1668", "branch": "New York City, NY"},
        {"name": {"first": "Denese", "last" :"Dossett"}, "sales" : "$9248", "branch": "Austin, TX"},
        {"name": {"first": "Douglas", "last" :"Denney"}, "sales" : "$5058", "branch": "New York City, NY"},
        {"name": {"first": "Earline", "last" :"Erickson"}, "sales" : "$18876", "branch": "New York City, NY"},
        {"name": {"first": "Herman", "last" :"Hazell"}, "sales" : "$2746", "branch": "New York City, NY"},
        {"name": {"first": "Homer", "last" :"Hirth"}, "sales" : "$474", "branch": "Orlando, FL"},
        {"name": {"first": "Hwa", "last" :"Heidt"}, "sales" : "$9607", "branch": "San Francisco, CA"},
        {"name": {"first": "Hyon", "last" :"Hampshire"}, "sales" : "$13598", "branch": "New York City, NY"},
        {"name": {"first": "Issac", "last" :"Ingerson"}, "sales" : "$5225", "branch": "Austin, TX"},
        {"name": {"first": "Jeraldine", "last" :"Joplin"}, "sales" : "$2891", "branch": "New York City, NY"},
        {"name": {"first": "Jin", "last" :"Jeffrey"}, "sales" : "$14402", "branch": "Austin, TX"},
        {"name": {"first": "Joleen", "last" :"Jolin"}, "sales" : "$15736", "branch": "Austin, TX"},
        {"name": {"first": "Jude", "last" :"Jarrett"}, "sales" : "$7557", "branch": "San Francisco, CA"},
        {"name": {"first": "Magda", "last" :"Mireles"}, "sales" : "$1498", "branch": "Austin, TX"},
        {"name": {"first": "Mistie", "last" :"Montealegre"}, "sales" : "$6920", "branch": "New York City, NY"},
        {"name": {"first": "Nancy", "last" :"Napoli"}, "sales" : "$5255", "branch": "New York City, NY"},
        {"name": {"first": "Regine", "last" :"Rohrbaugh"}, "sales" : "$7881", "branch": "Orlando, FL"},
        {"name": {"first": "Rolando", "last" :"Riebel"}, "sales" : "$8573", "branch": "San Francisco, CA"},
        {"name": {"first": "Scarlett", "last" :"Stagg"}, "sales" : "$7126", "branch": "Orlando, FL"},
        {"name": {"first": "Sherron", "last" :"Strawn"}, "sales" : "$8848", "branch": "New York City, NY"},
        {"name": {"first": "Susan", "last" :"Shilling"}, "sales" : "$8542", "branch": "Seattle, WA"},
        {"name": {"first": "Tama", "last" :"Tworek"}, "sales" : "$9200", "branch": "Seattle, WA"},
        {"name": {"first": "Tonisha", "last" :"Taunton"}, "sales" : "$5219", "branch": "Orlando, FL"},
        {"name": {"first": "Vergie", "last" :"Villescas"}, "sales" : "$8712", "branch": "New York City, NY"}
    ];

    function convertSalesToInt(person){
      var salesInt = person.sales.slice(1);
      return parseInt(salesInt, 10);
    }

    function salesPerBranch(salesPersons){
    var myObj = {};
    var uniq = [];
    var total = 0;

    for(var i = 0; i < salesPersons.length; i++){
      var splitTeam = salesPersons[i].branch;
      if(uniq.indexOf(salesPersons) < 0){
        myObj[salesPersons] = total+= convertSalesToInt(salesPersons[i]);
      }
    }

    return myObj;


    }

    console.log(salesPerBranch(salesPersons));
    /* { 'Austin, TX': 110898,
  'New York City, NY': 187174,
  'Orlando, FL': 178462,
  'San Francisco, CA': 139527,
  'Seattle, WA': 173243 } */
我现在唯一陷入困境的部分是我将每个分支机构的总销售额相加的部分。现在,它没有拉到正确的数量。本部分负责:

if(uniq.indexOf(salesPersons) < 0){
        myObj[salesPersons] = total+= convertSalesToInt(salesPersons[i]);
      }
if(统一索引(销售人员)<0){
myObj[销售人员]=总计+=转换销售人员(销售人员[i]);
}
谁知道我的错误是什么,我怎样才能改正

谢谢

var销售人员=[
{“姓名”:{“第一名”:“阿伦”,“最后一名”:“阿特金斯”},“销售额”:“2314美元”,“分行”:“德克萨斯州奥斯汀”},
{“姓名”:{“第一名”:“阿尔瓦罗”,“最后一名”:“安杰洛斯”},“销售额”:“1668美元”,“分行”:“纽约市”},
{“姓名”:{“第一名”:“Denese”,“最后一名”:“Dossett”},“销售额”:“9248美元”,“分行”:“德克萨斯州奥斯汀”},
{“名称”:{“第一”:“道格拉斯”,“最后”:“丹尼”},“销售”:“5058美元”,“分行”:“纽约市”},
{“名称”:{“第一”:“Earline”,“last”:“Erickson”},“销售”:“18876美元”,“分行”:“纽约市”},
{“姓名”:{“第一名”:“赫尔曼”,“最后一名”:“哈泽尔”},“销售额”:“2746美元”,“分行”:“纽约市”},
{“姓名”:{“第一名”:“荷马”,“最后一名”:“赫斯”},“销售额”:“474美元”,“分行”:“佛罗里达州奥兰多”},
{“名称”:{“第一”:“Hwa”,“最后”:“Heidt”},“销售”:“9607美元”,“分公司”:“加利福尼亚州旧金山”},
{“名称”:{“第一”:“Hyon”,“最后”:“Hampshire”},“销售额”:“13598美元”,“分行”:“纽约市”},
{“姓名”:{“第一名”:“伊萨克”,“最后一名”:“英格森”},“销售额”:“5225美元”,“分行”:“德克萨斯州奥斯汀”},
{“名称”:{“第一”:“杰拉尔丁”,“最后一名”:“乔普林”},“销售”:“2891美元”,“分公司”:“纽约市”},
{“姓名”:{“第一名”:“金”,“最后一名”:“杰弗里”},“销售额”:“14402美元”,“分行”:“德克萨斯州奥斯汀”},
{“姓名”:{“第一名”:“裘琳”,“最后一名”:“裘琳”},“销售额”:“15736美元”,“分行”:“德克萨斯州奥斯汀”},
{“姓名”:{“第一名”:“裘德”,“最后一名”:“贾勒特”},“销售额”:“7557美元”,“分行”:“加利福尼亚州旧金山”},
{“姓名”:{“第一名”:“Magda”,“最后一名”:“Mireles”},“销售额”:“1498美元”,“分行”:“德克萨斯州奥斯汀”},
{“姓名”:{“第一”:“先生”,“最后一位”:“蒙塔莱格里”},“销售额”:“6920美元”,“分行”:“纽约市”},
{“姓名”:{“第一名”:“南希”,“最后一名”:“那不勒斯”},“销售额”:“5255美元”,“分行”:“纽约市”},
{“名称”:{“第一”:“Regine”,“最后一个”:“Rohrbaugh”},“销售”:“7881美元”,“分行”:“佛罗里达州奥兰多”},
{“名称”:{“第一”:“罗兰多”,“最后”:“里贝尔”},“销售”:“8573美元”,“分公司”:“加利福尼亚州旧金山”},
{“姓名”:{“第一名”:“斯佳丽”,“最后一名”:“斯塔格”},“销售额”:“7126美元”,“分行”:“佛罗里达州奥兰多”},
{“姓名”:{“第一名”:“谢伦”,“最后一名”:“斯特朗”},“销售额”:“8848美元”,“分行”:“纽约市”},
{“姓名”:{“第一名”:“苏珊”,“最后一名”:“先令”},“销售额”:“8542美元”,“分行”:“华盛顿州西雅图”},
{“姓名”:{“第一名”:“塔马”,“最后一名”:“Tworek”},“销售额”:“9200美元”,“分行”:“华盛顿州西雅图”},
{“姓名”:{“第一名”:“托尼莎”,“最后一名”:“汤顿”},“销售额”:“5219美元”,“分行”:“佛罗里达州奥兰多”},
{“姓名”:{“第一名”:“Vergie”,“最后一名”:“Villescas”},“销售额”:“8712美元”,“分行”:“纽约市”}
];
函数转换器SalesToInt(个人){
var salesInt=person.sales.slice(1);
返回parseInt(salesInt,10);
}
职能销售员分支(销售员){
var myObj={};
对于(变量i=0;i
var销售人员=[
{“姓名”:{“第一名”:“阿伦”,“最后一名”:“阿特金斯”},“销售额”:“2314美元”,“分行”:“德克萨斯州奥斯汀”},
{“姓名”:{“第一名”:“阿尔瓦罗”,“最后一名”:“安杰洛斯”},“销售额”:“1668美元”,“分行”:“纽约市”},
{“姓名”:{“第一名”:“Denese”,“最后一名”:“Dossett”},“销售额”:“9248美元”,“分行”:“德克萨斯州奥斯汀”},
{“名称”:{“第一”:“道格拉斯”,“最后”:“丹尼”},“销售”:“5058美元”,“分行”:“纽约市”},
{“名称”:{“第一”:“Earline”,“last”:“Erickson”},“销售”:“18876美元”,“分行”:“纽约市”},
{“姓名”:{“第一名”:“赫尔曼”,“最后一名”:“哈泽尔”},“销售额”:“2746美元”,“分行”:“纽约市”},
{“姓名”:{“第一名”:“荷马”,“最后一名”:“赫斯”},“销售额”:“474美元”,“分行”:“佛罗里达州奥兰多”},
{“名称”:{“第一”:“Hwa”,“最后”:“Heidt”},“销售”:“9607美元”,“分公司”:“加利福尼亚州旧金山”},
{“名称”:{“第一”:“Hyon”,“最后”:“Hampshire”},“销售额”:“13598美元”,“分行”:“纽约市”},
{“姓名”:{“第一名”:“伊萨克”,“最后一名”:“英格森”},“销售额”:“5225美元”,“分行”:“德克萨斯州奥斯汀”},
{“名称”:{“第一”:“杰拉尔丁”,“最后一名”:“乔普林”},“销售”:“2891美元”,“分公司”:“纽约市”},
{“姓名”:{“第一名”:“金”,“最后一名”:“杰弗里”},“销售额”:“14402美元”,“分行”:“德克萨斯州奥斯汀”},
{“姓名”:{“第一名”:“裘琳”,“最后一名”:“裘琳”},“销售额”:“15736美元”,“分行”:“德克萨斯州奥斯汀”},
{“姓名”:{“第一名”:“裘德”,“最后一名”:“贾勒特”},“销售额”:“7557美元”,“分行”:“加利福尼亚州旧金山”},
{“姓名”:{“第一名”:“Magda”,“最后一名”:“Mireles”},“销售额”:“1498美元”,“分行”:“德克萨斯州奥斯汀”},
{“姓名”:{“第一”:“先生”,“最后一位”:“蒙塔莱格里”},“销售额”:“6920美元”,“分行”:“纽约市”},
{“姓名”:{“第一名”:“南希”,“最后一名”:“那不勒斯”},“销售额”:“5255美元”,“分行”:“纽约市”},
{“名称”:{“第一”:“Regine”,“最后一个”:“Rohrbaugh”},“销售”:“7881美元”,“分行”:“佛罗里达州奥兰多”},
{“名称”:{“第一”:“罗兰多”,“最后”:“里贝尔”},“销售”:“8573美元”,“分公司”:“加利福尼亚州旧金山”},
{“姓名”:{“第一名”:“斯佳丽”,“最后一名”:“斯塔格”},“销售额”:“7126美元”,“分行”:“佛罗里达州奥兰多”},
{“姓名”:{“第一名”:“谢伦”,“最后一名”:“斯特朗”},“销售额”:“8848美元”,“分行”:“纽约市”},
{“姓名”:{“第一名”:“苏珊”,“最后一名”:“先令”},“销售额”:“8542美元”,“分行”:“华盛顿州西雅图”},
{“姓名”:{“第一名”:“塔马”,“最后一名”:“Tworek”},“销售额”:“9200美元”,“分行”:“华盛顿州西雅图”},
{“姓名”:{“第一名”:“托尼莎”,“最后一名”:“汤顿”},“销售额”:“5219美元”,“分行”:“佛罗里达州奥兰多”},
{“名字”:{“第一”:“维吉”
if(uniq.indexOf(salesPersons) < 0){
        myObj[salesPersons] = total+= convertSalesToInt(salesPersons[i]);
      }
   function salesPerBranch(salesPersons) {
      var myObj = {};

      //loop through sales people
      for (let person of salesPersons) {
        let branch = person.branch;

        //test for branches
        if (!myObj[branch]) {
          //create branches in the obj
          myObj[branch] = myObj[branch]
            //set default value to 0
          myObj[branch] = 0;

        }
        //Add sales for each branch
        myObj[branch] += convertSalesToInt(person);

      }
      console.log(myObj)

    }

     salesPerBranch(salesPersons);
salesPersons.map(function(x){return x.branch}).filter(function(value, index, self){return self.indexOf(value) === index;}).forEach(function(x){
        console.log(x + ' : $' + salesPersons.filter(function(y){if(y.branch === x) return y}).map(function(z){return z.sales.slice(1)}).reduce(function(a,b){return +a + +b;},0));
    });