如何将JavaScript对象的值设置为null

时间:2018-09-12 13:09:18

标签: javascript jquery

我已经从数组创建了这个JS对象。

var rv = {};
$( ".part-name:visible" ).each(function( index ) {
   //rv[$(this).text()] = arrayPartsName[$(this).text()];
   rv[$(this).text()] = arrayPartsName[$(this).text()];
   console.log(rv);
})

4GN: "4GN"
4GNTS: "4GNTS"
042645-00: "042645-00"
503711-03: "503711-03"
573699-05: "573699-05"

我必须将此对象与Materialize Autocomplete一起使用,并且必须对其进行编辑。正确的对象必须像这样

4GN: null
4GNTS: null
042645-00: null
503711-03: null
573699-05: null

该怎么办?

1 个答案:

答案 0 :(得分:1)

从我的评论中摘录。您可以将其设置为null;)JavaScript是一种很酷的语言...您几乎可以将任何对象的属性设置为所需的任何内容,null,特定值甚至函数。 .. see some more on the topic

但是要专注于您的特定问题:

更改此行

rv[$(this).text()] = arrayPartsName[$(this).text()];

rv[$(this).text()] = null;


需要注意的地方

如果JSON对象中有property或键值,并且名称中带有短划线,则必须将其用引号"括起来,否则将不会被视为有效。尽管这可能不那么明显,但在示例中还是有问题,因为通过以下功能$(this).text()添加了密钥。

var fruit = {
"pear": null,   // something null
"talk": function() { console.log('WOOHOO!'); }   // function
}

var apple = "app-le"; 

fruit[apple.toString()] = 'with a dash';
fruit["bana-na"] = 'with a dash';

// below is not allowed, the values will be evaluated as 
// properties that dont exist, and then your js will fail
// fruit[pe-ar] = 'with a dash';

fruit.talk();

console.log(fruit);