javascript - 如何将多个变量分配给一个对象?
问题描述
我有很多已经定义的变量:
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] = ????? );
解决方案
您可以通过滑出花括号的括号来执行与数组表示法几乎相同的操作。这将使用变量的名称作为键和值作为值:
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)
推荐阅读
- angular - Angular 6 mat-table 使用带有 flex 的粘性列不起作用
- upgrade - 升级到typo3 8.7.20 后,Typolinks 目标不起作用
- laravel - 如何通过 Eloquent Laravel 使用 1query 获取包括我的推文在内的推文?
- mongodb - 使用 mongodb 聚合 groupby
- ios - 无法将“__NSCFString”类型的值转换为“NSDictionary”
- android - SharedPreferences 如何一个接一个地处理多个 .apply() 调用?
- react-native - 无法在 React 本机默认项目中将类作为函数调用
- c# - 重定向到特定选项卡上的网页
- php - 同时勾选复选框
- android - RecyclerView 未使用 [WIFI DIRECT] 发现进行更新