我有一个数组:
Var array=[{"name":"May","data1":"1121.0"}]
我想将其更改为:
Var array= [{"name":"May","data1":1121.0}]
答案 0 :(得分:0)
貌似已经在here
之前得到了答复我会总结;
for(var i = 0; i < objects.length; i++){
var obj = objects[i];
for(var prop in obj){
if(obj.hasOwnProperty(prop) && obj[prop] !== null && !isNaN(obj[prop])){
obj[prop] = +obj[prop];
}
}
}
console.log(JSON.stringify(objects, null, 2));
这确实有一个错误,其中0变为空。
答案 1 :(得分:0)
您要将映射到"data1"
键的值转换为number
而不是string
。
有很多方法可以用JavaScript来完成,但是最好的方法是像这样使用Number.parseFloat
:
var array = [{"name":"May","data1":"1121.0"}];
array[0]["data1"] = Number.parseFloat(array[0]["data1"]);
console.log(array[0]["data1"]); // 1121
如果您需要对array
内的多个对象执行此操作,则可以
var array = [{"name":"May","data1":"1121.0"}, {"name":"May","data1":"1532.0"}, etc.] // Note that this is not valid JavaScript
array.map(obj => {obj["data1"] = Number.parseFloat(obj["data1"]); return obj;});
答案 2 :(得分:0)
如果我理解得很好,您只想将data1
的值从"1121.0"
转换为1121.0
,换句话说就是将 string 转换为数字。
要仅转换该键(数据1),您仅需要以下内容:
array[0].data1 = parseFloat(array[0].data1)
如果这不是您想要的,请更好地解释您的问题
答案 3 :(得分:0)
您可以简单地使用<gridster [options]="options" [style.background-color]="allowEdit?'white':'white'">
<gridster-item [item]="item" *ngFor="let item of widgets; let i = index;" class="sortable-handler">
<div [ngClass]="{'add-widget': item.addNew}">
<div class="row gridster-item-header">
<div class="col-12 gridster-item-label">
<span>{{item.name}}</span>
<div class="gridster-item-button" *ngIf="!item.addNew && allowEdit">
<button (touchstart)="customizeWidget(item)" (mousedown)="customizeWidget(item)" class="btn btn-secondary">
<span class="fa action-button-sm action-button-customize-item"></span>
</button>
<button (touchend)="deleteWidget(item.id, i)" (mousedown)="deleteWidget(item.id, i)" class="btn btn-secondary">
<span class="fa action-button-sm action-button-delete-item"></span>
</button>
</div>
</div>
</div>
<img *ngIf="!item.addNew" class="image-height" [src]="item.label" alt="item-label"/>
<div *ngIf="item.addNew" style="background-image: {{item.label}}">
<app-add-widget-item (touchstart)="openWidgetModal($event)" (mousedown)="openWidgetModal($event)"></app-add-widget-item>
</div>
</div>
</gridster-item>
</gridster>
进行检查,并尝试使用Number.isNaN
运算符将其强制转换为数字。如果返回true,则什么也不做。如果为假,则将参数的值更改为强制转换数字。
+