相关疑难解决方法(0)

JavaScript按变量设置对象键

我正在用JavaScript构建一些对象并将这些对象推送到一个数组中,我将存储我想要在变量中使用的键然后创建我的对象,如下所示:

var key = "happyCount";
myArray.push( { key : someValueArray } );
Run Code Online (Sandbox Code Playgroud)

但是当我尝试检查每个对象的对象数组时,键"key"而不是变量键的值.有没有办法从变量设置键的值?

小提琴更好的解释:http: //jsfiddle.net/Fr6eY/3/

javascript

828
推荐指数
6
解决办法
58万
查看次数

更改属性名称

我有一个JavaScript对象如下:

var a = { Prop1: 'test', Prop2: 'test2' }
Run Code Online (Sandbox Code Playgroud)

如何将Prop1的"属性名称"更改为Prop3?

我试过了

for (var p in r) p.propertyName = 'Prop3';
Run Code Online (Sandbox Code Playgroud)

但那没用.

javascript

41
推荐指数
3
解决办法
5万
查看次数

在对象数组中有效地重命名/重新映射javascript/json对象键

我有一些像这样的结构化JSON数据.让我们假设这是可以互换的,通过JSON.parse():

[
    {
        "title": "pineapple",
        "uid": "ab982d34c98f"
    },
    {
        "title": "carrots",
        "uid": "6f12e6ba45ec"
    }
]
Run Code Online (Sandbox Code Playgroud)

我需要它看起来像这样,重新映射titlename,并uidid与结果:

[
    {
        "name": "pineapple",
        "id": "ab982d34c98f"
    },
    {
        "name": "carrots",
        "id": "6f12e6ba45ec"
    }
]
Run Code Online (Sandbox Code Playgroud)

最明显的做法是这样的:

str = '[{"title": "pineapple","uid": "ab982d34c98f"},{"title": "carrots", "uid": "6f12e6ba45ec"}]';

var arr = JSON.parse(str);
for (var i = 0; i<arr.length; i++) {
    arr[i].name = arr[i].title;
    arr[i].id = arr[i].uid;
    delete arr[i].title;
    delete arr[i].uid;
}
Run Code Online (Sandbox Code Playgroud)

str = '[{"title": "pineapple","uid": "ab982d34c98f"},{"title": "carrots",    		"uid": "6f12e6ba45ec"}]'; …
Run Code Online (Sandbox Code Playgroud)

javascript arrays json javascript-objects

21
推荐指数
3
解决办法
3万
查看次数

重命名对象中的键

var addObjectResponse = [{
    'SPO2': '222.00000',
    'VitalGroupID': 1152,
    'Temperature': 36.6666666666667,
    'DateTimeTaken': '/Date(1301494335000-0400)/',
    'UserID': 1,
    'Height': 182.88,
    'UserName': 'Admin',
    'BloodPressureDiastolic': 80,
    'Weight': 100909.090909091,
    'TemperatureMethod': 'Oral',
    'Resprate': 111,
    'HeartRate': 111,
    'BloodPressurePosition': 'Standing',
    'VitalSite': 'Popliteal',
    'VitalID': 1135,
    'Laterality': 'Right',
    'HeartRateRegularity': 'Regular',
    'HeadCircumference': '',
    'BloodPressureSystolic': 120,
    'CuffSize': 'XL',
}];
Run Code Online (Sandbox Code Playgroud)

如何重命名键...像SPO2一样进入O2 ......数组中有这么多对象......

javascript

14
推荐指数
3
解决办法
3万
查看次数

使用Object.keys ES6更改对象键

我有

var tab = {
abc:1,
def:40,
xyz: 50
}
Run Code Online (Sandbox Code Playgroud)

我想将abc,def,xyz的名称更改为其他内容,是否可能?

我试过了

const test = Object.keys(tab).map(key => {
  if (key === 'abc') {
    return [
      a_b_c: tab[key]
    ]
  }
});

console.log(test);
Run Code Online (Sandbox Code Playgroud)

我有很多未定义的键.

javascript ecmascript-6 reactjs

10
推荐指数
4
解决办法
2万
查看次数

如何动态替换javascript对象属性名称

我已经创建了一个JavaScript对象

var obj={}
var prop = {}
prop.name= "name",
prop.value = "10"
obj[old_name] = prop;
Run Code Online (Sandbox Code Playgroud)

我需要更改old_namenew_name.我试过了

obj[new_name] = obj[old_name];
delete obj[old_name];
Run Code Online (Sandbox Code Playgroud)

它可以工作但是,对象顺序会发生变化.

例如:

{"obj1":{"name:name","value:10"},"obj2":{"name:name","value:10"}}
Run Code Online (Sandbox Code Playgroud)

如果我更换obj1objone,就像这样:

obj[objone ] = obj[obj1];
delete obj[obj1 ];
Run Code Online (Sandbox Code Playgroud)

对象顺序更改为:

{"obj2":{"name:name","value:10"},"objone":{"name:name","value:10"}}]
Run Code Online (Sandbox Code Playgroud)

但我需要单独更改属性名称而不是顺序,我也尝试使用字符串替换,但我认为这不是正确的方法,所以请给我一些想法.

javascript json object

5
推荐指数
1
解决办法
4211
查看次数

如何在javascript中的项目数组中最有效地重命名键?

我有一个10000个对象的数组.每个对象都是这样的:

{"id":5, "name": "Jordin Sparks}
Run Code Online (Sandbox Code Playgroud)

对于我来说,重命名键的最有效和最快的方法是什么,以便数组中的每个对象变为:

{"num":5, "fullname": "Jordin Sparks"}
Run Code Online (Sandbox Code Playgroud)

换句话说,"id"属性被重命名为"num",每个对象的"name"属性被重命名为"fullname".

javascript

5
推荐指数
1
解决办法
1094
查看次数

在localStorage中更改键值?

我有一个名为"1"的localStorage项目并包含"something".

我想将名称更改为"2"并保持内容不变.我怎样才能做到这一点?

我知道我可以将整个内容复制到"2"然后删除"1"但是还有其他直接方法吗?

html5 local-storage

3
推荐指数
1
解决办法
2751
查看次数

修改对象的键而不创建新对象

我有以下输入:

{
  foo: 4,
  bar: 3
}
Run Code Online (Sandbox Code Playgroud)

我想修改这个对象的键来得到:

{
  x_foo_y: 4,
  x_bar_y: 3
}
Run Code Online (Sandbox Code Playgroud)

是否可以在不创建新对象的情况下修改对象?(jQuery 可用)

javascript jquery object

3
推荐指数
1
解决办法
522
查看次数

Javascript:如何循环和更改键名?

如何更改键名称但键入其值?

例如,我存储了以下 json 数据:

{ particles: 
   { name: 'particles',
     values: [ [Object], [Object], [Object], [Object], [Object] ] },
  timestamps: 
   { name: 'timestamps',
     values: [ [Object], [Object], [Object], [Object], [Object] ] } 
}
Run Code Online (Sandbox Code Playgroud)

我将循环此输入并更改密钥:

{ particles: 'particle', timestamps: 'timestamp' }
Run Code Online (Sandbox Code Playgroud)

更改particlesparticletimestampstimestamp

我的尝试:

for (var property in data) {
   stored[data[property]] = stored[property].values;
   stored[property].name = data[property];
}
Run Code Online (Sandbox Code Playgroud)

我只设法更改name存储数据中的值,但没有更改名称......

有任何想法吗?

javascript for-loop

3
推荐指数
1
解决办法
8808
查看次数