如何用相同的方法用Javascript中具有相同属性的多个对象?
我熟悉如何使用Javascript这样创建对象:
var myCar = new Object();
myCar.make = 'ford';
myCar.model = 'mustang';
myCar.year = 1969;
但是,如果我想为对象分配一个数组并让所有值具有相同的属性该怎么办?
Arr = [1,2];
Arr[i].value === Arr[i]
Arr[j].value === Arr[j]
Arr[i].value === Arr[j].value
!Arr[i].hasOwnProperty('value')
!Arr[j].hasOwnProperty('value')
其中value方法是相同的,并且不是对象唯一的
object1.hasOwnProperty('value'); //Evaluates to `false`
我习惯于使用Python编程,所以我的第一个猜测是创建一个字典并将该数组动态分配给values
,但是我不确定如何在Javascript对象中使用properties
。
编辑:当我打算使用'==='运算符时,错误地包括了'=='运算符。
答案 0 :(得分:0)
您需要这样做-通过创建一个对象。还要使用赋值运算符=
而不是比较运算符==
:
let Arr = [1,2];
let i = 0;
let j = 1;
Arr[i] = { value: Arr[i] };
Arr[j] = { value: Arr[j] };
console.log(Arr);
.as-console-wrapper { max-height: 100% !important; top: auto; }
答案 1 :(得分:0)
我不知道这是否是您要的,但是您可以通过两种方式创建自己的对象
function Car (make, model, year) {
this.make = make;
this.model = model;
this.year = year;
}
// you can also add methods using the object's protoype
Car.prototype.isNissan() {
return this.make == 'Nissan';
}
您可以使用现代语法创建类
class Car {
constructor(make, model, year) {
this.make = make;
this.model = model;
this.year = year;
}
methodName() {
// method body
}
}
像这样在您的代码中使用它
let myCar = new Car('Nissan', 'some model', 2018);