简体   繁体   English

我想根据薪水使用if条件修改数组

[英]I want to modify an array using if condition according to salary

I wish to modify an array obtained from an api and add new key: Salary . 我希望修改从api获取的数组并添加新键: Salary

Conditions are: 条件是:

  • Age less than equal to 23: Salary will be 23,000 小于23岁的年龄:薪水为23,000

  • Age greater than 23 and age less than 27: Salary will be 27,000 年龄大于23岁且小于27岁:工资为27,000

  • Age greater than 27: Salary will be 500,000 年龄大于27岁:薪金为500,000

Here is the array: 这是数组:

var employee=[
  {
    "firstName": "Zahir",
    "lastName": "Alam",
    "Age": 25,
    "Company": "Switchme",
    "Role": "Developer",
    "Department": "Tech",
    "Head": {
      "Id": 3,
      "Name": "Sourasis Roy"
    }
  }, {
    "firstName": "Amith",
    "lastName": "Manniken",
    "Age": 25,
    "Company": "Switchme",
    "Role": "Developer",
    "Department": "Tech",
    "Head": {
      "Id": 3,
      "Name": "Sourasis Roy"
    }
  }, {
    "firstName": "Sourasis",
    "lastName": "Roy",
    "Age": 28,
    "Company": "Switchme",
    "Role": "CTO"
  }, {
    "firstName": "Aditya",
    "lastName": "Mishra",
    "Age": 29,
    "Company": "Switchme",
    "Department": "Tech",
    "Role": "CEO"
  }, {
    "firstName": "Priti",
    "lastName": "Lata",
    "Age": 24,
    "Company": "Switchme",
    "Role": "HR"
  }, {
    "firstName": "Sumita",
    "lastName": "Nath",
    "Age": 24,
    "Company": "Switchme",
    "Role": "HLA Head",
    "Department": "Crm"
  }, {
    "firstName": "Tarini",
    "lastName": "Khanna",
    "Age": 22,
    "Company": "Switchme",
    "Role": "Content Writer"
  }, {
    "firstName": "Abhisek",
    "lastName": "Soni",
    "Age": 23,
    "Company": "Switchme",
    "Role": "HLA",
    "Department": "Crm",
    "Head": {
      "Id": 5,
      "Name": "Sumita Nath"
    }
  }, {
    "firstName": "Ankit",
    "lastName": "Pump",
    "Age": 23,
    "Company": "Switchme",
    "Role": "HLA",
    "Department": "Crm",
    "Head": {
      "Id": 5,
      "Name": "Sumita Nath"
    }
  }, {
    "firstName": "Pogo",
    "lastName": "Laal",
    "Age": 23,
    "Company": "Switchme",
    "Role": "Designer"
  }, {
    "firstName": "Sabina",
    "lastName": "Sekh",
    "Age": 28,
    "Company": "Switchme",
    "Role": "HLA Head",
    "Department": "Crm"
  }, {
    "firstName": "Sanjay",
    "lastName": "Poudal",
    "Age": 24,
    "Company": "Switchme",
    "Role": "HLA Head",
    "Department": "Crm",
    "Head": {
      "Id": 10,
      "Name": "Sabina Sekh"
    }
  }
];

And here is my code: 这是我的代码:

$(document).ready(function(){
  $.each( employee, function( key, value ) {
    if(value["Age"] <= 23) {
      var obj = {};
      obj[Salary] = 23000;
      employee.push(obj);
    }
    else if(value["Age"] > 23 && value["Age"] < 27) {
      var obj2 = {};
      obj2[Salary] = 27000;
      employee.push(obj2);
    }
    else if(value["Age"] > 27) {
      var obj3 = {};
      obj3[Salary] = 500000;
      employee.push(obj3);
    } 
  });
  $.each(employee, function(index, value){
    $("#modfy").append(index + ": " + value + '<br>');
  });
});

My HTML: 我的HTML:

<div class="modfy"></div>

Just add the attribute Salary to the object, and don't forget to use the id and not the class . 只需将Salary属性添加到对象,别忘了使用id而不是class

 var employee = [{ "firstName": "Zahir", "lastName": "Alam", "Age": 25, "Company": "Switchme", "Role": "Developer", "Department": "Tech", "Head": { "Id": 3, "Name": "Sourasis Roy" } }, { "firstName": "Amith", "lastName": "Manniken", "Age": 25, "Company": "Switchme", "Role": "Developer", "Department": "Tech", "Head": { "Id": 3, "Name": "Sourasis Roy" } }, { "firstName": "Sourasis", "lastName": "Roy", "Age": 28, "Company": "Switchme", "Role": "CTO" }, { "firstName": "Aditya", "lastName": "Mishra", "Age": 29, "Company": "Switchme", "Department": "Tech", "Role": "CEO" }, { "firstName": "Priti", "lastName": "Lata", "Age": 24, "Company": "Switchme", "Role": "HR" }, { "firstName": "Sumita", "lastName": "Nath", "Age": 24, "Company": "Switchme", "Role": "HLA Head", "Department": "Crm" }, { "firstName": "Tarini", "lastName": "Khanna", "Age": 22, "Company": "Switchme", "Role": "Content Writer" }, { "firstName": "Abhisek", "lastName": "Soni", "Age": 23, "Company": "Switchme", "Role": "HLA", "Department": "Crm", "Head": { "Id": 5, "Name": "Sumita Nath" } }, { "firstName": "Ankit", "lastName": "Pump", "Age": 23, "Company": "Switchme", "Role": "HLA", "Department": "Crm", "Head": { "Id": 5, "Name": "Sumita Nath" } }, { "firstName": "Pogo", "lastName": "Laal", "Age": 23, "Company": "Switchme", "Role": "Designer" }, { "firstName": "Sabina", "lastName": "Sekh", "Age": 28, "Company": "Switchme", "Role": "HLA Head", "Department": "Crm" }, { "firstName": "Sanjay", "lastName": "Poudal", "Age": 24, "Company": "Switchme", "Role": "HLA Head", "Department": "Crm", "Head": { "Id": 10, "Name": "Sabina Sekh" } }]; $(document).ready(function() { $.each(employee, function(key, value) { if (value["Age"] <= 23) { value["Salary"] = 23000; } else if (value["Age"] > 23 && value["Age"] < 27) { value["Salary"] = 27000; } else if (value["Age"] > 27) { value["Salary"] = 500000; } }); $.each(employee, function(index, value) { $("#modfy").append(value["firstName"] + " " + value["lastName"] + " (Age: " + value["Age"] + "): " + value["Salary"] + "<br />"); }); }); console.log(employee); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div id="modfy"></div> 

You dont need create new object, only add property for value object in each loop. 您不需要创建新对象,只需在每个循环中为值对象添加属性。 Other issue: 其他问题:

You put class="modify" but use as id #modify. 您输入class="modify"但将其用作ID #modify。 And each loop, you need use value as object. 而且,每个循环都需要使用值作为对象。

 $(".modfy").append(++index + ". " + value.firstName + ": " + value.lastName + ": " + value.Age + ": " + value.Company + ": " + value.Role + ": " + value.Department + ": " + value.Salary + '<br>');

If you want print each object as your requirement only need $(".modfy").append(JSON.stringify(value)); 如果要根据需要打印每个对象,则只需要$(".modfy").append(JSON.stringify(value));

or other way if you want display as array $(".modfy").append(JSON.stringify(employee)); 或者如果您想显示为数组$(".modfy").append(JSON.stringify(employee));或其他方式

$(document).ready(function(){
    $.each( employee, function( key, value ) {
        if(value["Age"] <= 23) {
        //var obj = {};
        value["Salary"] = 23000;
        //employee.push(obj);
        }
        else if(value["Age"] > 23 && value["Age"] < 27) {
        //var obj2 = {};
        value["Salary"] = 27000;
        //employee.push(obj2);
        }
        else if(value["Age"] > 27) {
        //var obj3 = {};
        value["Salary"] = 500000;
        //employee.push(obj3);
        } 
    });

 var employee=[{"firstName":"Zahir","lastName":"Alam","Age":25,"Company":"Switchme","Role":"Developer","Department":"Tech","Head":{"Id":3,"Name":"Sourasis Roy"}},{"firstName":"Amith","lastName":"Manniken","Age":25,"Company":"Switchme","Role":"Developer","Department":"Tech","Head":{"Id":3,"Name":"Sourasis Roy"}},{"firstName":"Sourasis","lastName":"Roy","Age":28,"Company":"Switchme","Role":"CTO"},{"firstName":"Aditya","lastName":"Mishra","Age":29,"Company":"Switchme","Department":"Tech","Role":"CEO"},{"firstName":"Priti","lastName":"Lata","Age":24,"Company":"Switchme","Role":"HR"},{"firstName":"Sumita","lastName":"Nath","Age":24,"Company":"Switchme","Role":"HLA Head","Department":"Crm"},{"firstName":"Tarini","lastName":"Khanna","Age":22,"Company":"Switchme","Role":"Content Writer"},{"firstName":"Abhisek","lastName":"Soni","Age":23,"Company":"Switchme","Role":"HLA","Department":"Crm","Head":{"Id":5,"Name":"Sumita Nath"}},{"firstName":"Ankit","lastName":"Pump","Age":23,"Company":"Switchme","Role":"HLA","Department":"Crm","Head":{"Id":5,"Name":"Sumita Nath"}},{"firstName":"Pogo","lastName":"Laal","Age":23,"Company":"Switchme","Role":"Designer"},{"firstName":"Sabina","lastName":"Sekh","Age":28,"Company":"Switchme","Role":"HLA Head","Department":"Crm"},{"firstName":"Sanjay","lastName":"Poudal","Age":24,"Company":"Switchme","Role":"HLA Head","Department":"Crm","Head":{"Id":10,"Name":"Sabina Sekh"}}]; $(document).ready(function(){ $.each( employee, function( key, value ) { if(value["Age"] <= 23) { //var obj = {}; value["Salary"] = 23000; //employee.push(obj); } else if(value["Age"] > 23 && value["Age"] < 27) { //var obj2 = {}; value["Salary"] = 27000; //employee.push(obj2); } else if(value["Age"] > 27) { //var obj3 = {}; value["Salary"] = 500000; //employee.push(obj3); } }); //console.log(employee) // $.each(employee, function(index, value){ // $(".modfy").append(++index + ". " + value.firstName + ": " + value.lastName + ": " + value.Age + ": " + value.Company + ": " + value.Role + ": " + value.Department + ": " + value.Salary + '<br>'); //$(".modfy").append(JSON.stringify(value)); //}); $(".modfy").append(JSON.stringify(employee)); }); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="modfy"></div> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 我想根据情况更改表格的行颜色 - I want to change row colors of a table according to the condition 我想根据数组拥有的图像数量显示数组中的 ImagesUrl,使用 Reactjs - I Want To Display The ImagesUrl's In The Array according To The Number of images the Array has, using Reactjs 我想遍历数组并修改属性 - I want to loop through an array and modify attributes 我想根据javascript中的另一个数组对数组进行排序? - I want to sort an array according to another array in javascript? 我想根据给定的搜索输入过滤数组 - I want to filter the array according to the given search input 我想根据数组长度乘以图表数据 - I want to multiply chart data according as array length 我想用新值修改我现有的数组 - I want to modify my existing array with new values 我将如何使用 jquery 和 PHP 根据状态调节我的复选框 - How will I condition my checkbox according to a status using jquery and PHP 如何根据一个值过滤和修改数组? - How to filter and modify array according to one value? 当我根据数组在这样的 URL (/student/:1) 中输入 ID 时如何显示,所有详细信息都想根据 ID 显示? - how can i display when i enter ID in URL like this (/student/:1) according to the array, All the details want to display according to the ID?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM