获取对象Javascript或jQuery的最后一个值

时间:2012-07-13 23:44:13

标签: javascript jquery

我有一个对象,我正在尝试获取每个键的最后一个值并将其放入另一个对象中。

var setA = {
    'a':'001, 007, 101',
    'b':'052, 004, 006, 005',
    'c':'003, 002, 001'
}

我想要做的就是得到最后的那样:

var setB = {
    'a':'101',
    'b':'005',
    'c':'001'
}

我怎么能做到这一点?

5 个答案:

答案 0 :(得分:4)

循环?

var setB = {}
for (var o in setA) {
  var s = setA[o].split(', '),
      x = s[s.length - 1]
  setB[o] = x
}

答案 1 :(得分:4)

为什么不呢:

var setB = {
    'a':setA.a.split(',').pop().trim(),
    'b':setA.b.split(',').pop().trim(),
    'c':setA.c.split(',').pop().trim()
}

JS Fiddle demo

实际上这会获取setA.a中变量返回的值(依此类推......),将该字符串({1}}字符分割成一个数组,弹出最后一个值那个数组并修剪它的空白。

当我记得一个字符串可以被视为一个字符数组时,从jbabey的答案中提出了以下内容:

,

JS Fiddle demo

参考文献:

答案 2 :(得分:2)

您可以使用正则表达式

var setB = {
    'a':setA.a.match(/(\d+)$/)[1],
    'b':setA.b.match(/(\d+)$/)[1],
    'c':setA.c.match(/(\d+)$/)[1]
}

/(\d+)$/将匹配字符串

中的最后一位数字

答案 3 :(得分:2)

如果你知道你总是想要字符串的最后3个字符,你可以使用substring

var setA = {
    'a':'001, 007, 101',
    'b':'052, 004, 006, 005',
    'c':'003, 002, 001'
}

var setB = {};

for (var item in setA) {
    setB[item] = setA[item].substring(setA[item].length-3);
}

http://jsfiddle.net/X6J2p/

答案 4 :(得分:1)

这段代码可以解决问题:

var setB={},temp,prop;
for(prop in setA){
    temp=setA[prop].split(', ');
    temp=temp[temp.length-1];
    setB[prop]=temp;
}