繁体   English   中英

Javascript获取两个引号之间的字符串数组

[英]Javascript get array of string between two quotes

我怎样才能从中得到这个结果的数组["13139","13141", "13140"]

{
   "13139": [tx[0]],
   "13141": [tx[1]],
   "13140": [tx[2]]
}

我试图JSON.parse但它给了我TokenError

谢谢

const object1 = {
  a: 'somestring',
  b: 42,
  c: false
};

console.log(Object.keys(object1));
// expected output: Array ["a", "b", "c"]

Object.keys() https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys

您的输入对象不是有效的 JSON,因此它比使用JSON.parse()稍微复杂一些。 您必须使用正则表达式匹配引号之间的值:

const input = `{"13139":[tx[0]],"13141":[tx[1]],"13140":[tx[2]]}`
input.match(/"(.*?)"/g)

// Result:
[""13139"", ""13141"", ""13140""]

您可以执行以下操作。

  1. 例如,将对象存储在变量中
const obj = {"13139":[tx[0]],"13141":[tx[1]],"13140":[tx[2]]}
  1. 像这样循环使用for of
const arrayFromItems = []
for (let item of Object.keys(obj)) {
    arrayFromItems.push(item)
}
  1. 现在arrayFromItems包含您要查找的值的数组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM