如何在Javascript中分配具有相同属性的多个对象

时间:2019-05-07 22:40:16

标签: javascript arrays object properties

如何用相同的方法用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

编辑:当我打算使用'==='运算符时,错误地包括了'=='运算符。

2 个答案:

答案 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);
相关问题