Number
またはを使用してブール値を変換できます+ operator
。
Number(true); //=> 1
Number(false); //=> 0
+(true); //=> 1
+(false); //=> 0
[コメントに基づいて編集]値がブール値に評価されるかどうかを確認するために
使用できます。typeof
var somebool = true
,sombool_isBoolean = /^boolean$/i.test(typeof somebool) //=>true
,nobool = 'true'
,nobool_isBoolean = /^boolean$/i.test(typeof nobool) //=>false
;
したがって、オブジェクトに対しては、次のようなことができます。
var objnr0 = obj.number[0].setNumber;
obj.number[0].setNumber = /^boolean$/i.test(objnr0) ? +(objnr0) : objnr0;
[コメントに基づく編集2]
オブジェクトをループせずに、オブジェクト内の true/false ブール値を置き換えるちょっとした「汚いトリック」:
var obj2 = JSON.parse(
JSON.stringify(obj)
.replace(/:true/gi,':1')
.replace(/:false/gi,':0')
);