-2

我有以下对象

var obj = { b0: 11, b1: 12
            b3: 21, b4: 22 }

我需要单独的数字,并在第一个数字x和第二个数字时为每个数字提供看起来像坐标(以供将来操作) y。和 mb 什么时候(x1==x2 && y2-y1==1) =做一些事情

4

3 回答 3

1

我会这样做:

var obj = { 'b0': 11, 'b1': 12, 'b3': 21, 'b4': 22 },
    matrixData = {}; 

for (var key in obj) {
    var sNum = obj[key].toString(),
        output = {'x': sNum.charAt(0),'y': sNum.charAt(1) };
    matrixData[key] = output;
}

console.log(matrixData);

您会收到一个带有 x 和 y 坐标的嵌套对象。

于 2012-12-21T07:51:37.590 回答
1

您可以调用 SStrings 原型方法split并再次返回一个数字数组,就像这样

function splitNumber (n) {
    var arr = String.prototype.split.call(n,"");
    var narr = [];
    for (var i=0,ilen = arr.length;i<ilen;i++)
        narr[i] = Number(arr[i])
    return narr
}
var x = 11
splitNumber(x) // [1,1]
于 2012-12-21T07:52:42.137 回答
1

如果数字只有两位数,你可以这样做:

function somesome() {
    var obj = { b0: 11, b1: 12, b3: 21, b4: 22 }
    var current = obj.b1
        console.log(current.toString().substring(0,1)); //first number
        console.log(current.toString().substring(1,2)); //second number
}
于 2012-12-21T07:50:58.187 回答