我已经定义了很多变量:
var listOfCars = $('#cars');
var car = $('#currentCar');
var carIndex = $(car).index();
var isFirstCar = carIndex == 0;
var isLastCar = carIndex == $(listOfCars).length - 1;
// and many more in real life
我想将它们全部放入一个对象,其中变量的名称也是键的名称。如果我想重写每一行,这就是我要这样做的方式:
var params = {
listOfCars : listOfCars,
car : car,
...
};
使用Sublime,我能够创建一个变量名数组:
var paramKeys = [ "listOfCars", "car", "carIndex"...];
但是我一直在坚持如何轻松分配实际值。我希望找到一个班轮。像这样:
paramKeys.every( key => param[key] = ????? );
答案 0 :(得分:1)
通过扫除花括号的括号,您可以执行与数组符号几乎相同的操作。这会将变量名称用作键,将值用作值:
var listOfCars = ["list of cars"]
var car = "a car"
var carIndex = 26
var isFirstCar = 0
var isLastCar = 10
let obj = {listOfCars, car, carIndex, isFirstCar, isLastCar }
console.log(obj)
答案 1 :(得分:0)
我个人认为使用Property Shorthand更容易:
var listOfCars = [];
var car = "car info";
var params = { listOfCars, car };
console.log(params)