Biến giá trị đối tượng Javascript [trùng lặp]

Nov 20 2020

Tôi muốn thực hiện một số phép tính bên trong một đối tượng js. Điều này có khả thi không?

foo: [
{
 value: 1000
 target:50
 process: (target*value)/100
},
{
 value: 500
 target:100
 process: (target*value)/100
}]

Các processchủ chốt cần được tính từ valuetarget. Có cách nào để làm điều này không? Js

Trả lời

1 elclanrs Nov 20 2020 at 02:56

Bạn có thể thực hiện processmột getter:

const foo = [
  {
    value: 1000,
    target: 50,
    get process() {
      return (this.target * this.value) / 100;
    }
  },
  {
    value: 500,
    target: 100,
    get process() {
      return (this.target * this.value) / 100;
    }
  }
];

Và sau đó sử dụng quyền truy cập thuộc tính:

console.log(foo[0].process); //=> 500
console.log(foo[1].process); //=> 500
IsraGab Nov 20 2020 at 02:58

Quy trình phải là một chức năng hoặc một trình truy cập:

var foo= [
    {
     value: 1000,
     target:50,
     process() { return (this.target*this.value)/100}
    },
    {
     value: 500,
     target:100,
     process() { return (this.target*this.value)/100}
    }]
    // use it like this:
    console.log(foo[0].process()); //=> 500
    console.log(foo[1].process()); //=> 500