将web浏览器中的数据表粘贴为Javascript数组

将web浏览器中的数据表粘贴为Javascript数组,javascript,visual-studio-code,codegen,Javascript,Visual Studio Code,Codegen,我以前看过一个视频,一个家伙刚刚在互联网浏览器中选择了整个文本表,将其粘贴到编辑器中,然后运行一些插件/工具,自动将文本转换为实际对象数组。我不确定他使用的是什么编辑器(可能是vim),甚至不知道该语言是什么,但我希望现在就用它来创建JS对象数组,最好是在VisualStudio代码中,但我找不到任何编辑器。 我想把表转换成什么样 对这样的事情: var MACHINE_TYPES = [ { name:"IMAGE_FILE_MACHINE_UNKNOWN", value:0x0, d

我以前看过一个视频,一个家伙刚刚在互联网浏览器中选择了整个文本表,将其粘贴到编辑器中,然后运行一些插件/工具,自动将文本转换为实际对象数组。我不确定他使用的是什么编辑器(可能是vim),甚至不知道该语言是什么,但我希望现在就用它来创建JS对象数组,最好是在VisualStudio代码中,但我找不到任何编辑器。 我想把表转换成什么样 对这样的事情:

var MACHINE_TYPES = [
    { name:"IMAGE_FILE_MACHINE_UNKNOWN", value:0x0, description:"The contents of this field are assumed to be applicable to any machine type"},
    { name:"IMAGE_FILE_MACHINE_I386 ", value:0x14c , description:"Intel 386 or later processors and compatible processors"},
];

只需简单地粘贴和指定列名

我不知道如何在VisualStudio代码中做到这一点,但快速搜索给了我这一点。快速从microsoft链接复制HTML表并将其上载到该网站,返回预期结果:

[
 {
   "Constant": "IMAGE_FILE_MACHINE_UNKNOWN",
   "Value": 0,
   "Description": "The contents of this field are assumed to be applicable to any machine type"
 },
 {
   "Constant": "IMAGE_FILE_MACHINE_AM33",
   "Value": 13,
   "Description": "Matsushita AM33"
 },
 {
   "Constant": "IMAGE_FILE_MACHINE_AMD64",
   "Value": 8664,
   "Description": "x64"
 },
 {
   "Constant": "IMAGE_FILE_MACHINE_ARM",
   "Value": 10,
   "Description": "ARM little endian"
 },
 {
   "Constant": "IMAGE_FILE_MACHINE_ARM64",
   "Value": 64,
   "Description": "ARM64 little endian"
 },
 {
   "Constant": "IMAGE_FILE_MACHINE_ARMNT",
   "Value": 14,
   "Description": "ARM Thumb-2 little endian"
 },
 {
   "Constant": "IMAGE_FILE_MACHINE_EBC",
   "Value": 0e,
   "Description": "EFI byte code"
 },
 {
   "Constant": "IMAGE_FILE_MACHINE_I386",
   "Value": 14,
   "Description": "Intel 386 or later processors and compatible processors"
 },
 {
   "Constant": "IMAGE_FILE_MACHINE_IA64",
   "Value": 200,
   "Description": "Intel Itanium processor family"
 },
 {
   "Constant": "IMAGE_FILE_MACHINE_M32R",
   "Value": 9041,
   "Description": "Mitsubishi M32R little endian"
 },
 {
   "Constant": "IMAGE_FILE_MACHINE_MIPS16",
   "Value": 266,
   "Description": "MIPS16"
 },
 {
   "Constant": "IMAGE_FILE_MACHINE_MIPSFPU",
   "Value": 366,
   "Description": "MIPS with FPU"
 },
 {
   "Constant": "IMAGE_FILE_MACHINE_MIPSFPU16",
   "Value": 466,
   "Description": "MIPS16 with FPU"
 },
 {
   "Constant": "IMAGE_FILE_MACHINE_POWERPC",
   "Value": 10,
   "Description": "Power PC little endian"
 },
 {
   "Constant": "IMAGE_FILE_MACHINE_POWERPCFP",
   "Value": 11,
   "Description": "Power PC with floating point support"
 },
 {
   "Constant": "IMAGE_FILE_MACHINE_R4000",
   "Value": 166,
   "Description": "MIPS little endian"
 },
 {
   "Constant": "IMAGE_FILE_MACHINE_RISCV32",
   "Value": 5032,
   "Description": "RISC-V 32-bit address space"
 },
 {
   "Constant": "IMAGE_FILE_MACHINE_RISCV64",
   "Value": 5064,
   "Description": "RISC-V 64-bit address space"
 },
 {
   "Constant": "IMAGE_FILE_MACHINE_RISCV128",
   "Value": 5128,
   "Description": "RISC-V 128-bit address space"
 },
 {
   "Constant": "IMAGE_FILE_MACHINE_SH3",
   "Value": 12,
   "Description": "Hitachi SH3"
 },
 {
   "Constant": "IMAGE_FILE_MACHINE_SH3DSP",
   "Value": 13,
   "Description": "Hitachi SH3 DSP"
 },
 {
   "Constant": "IMAGE_FILE_MACHINE_SH4",
   "Value": 16,
   "Description": "Hitachi SH4"
 },
 {
   "Constant": "IMAGE_FILE_MACHINE_SH5",
   "Value": 18,
   "Description": "Hitachi SH5"
 },
 {
   "Constant": "IMAGE_FILE_MACHINE_THUMB",
   "Value": 12,
   "Description": "Thumb"
 },
 {
   "Constant": "IMAGE_FILE_MACHINE_WCEMIPSV2",
   "Value": 169,
   "Description": "MIPS little-endian WCE v2"
 }
]
我发现它允许使用正则表达式通过命令pallete替换文本,但从更复杂的转换形式来看这是一个相当大的问题,因此我使用页面使用以下公式进行匹配:

`(.*)\s(.*)\s(.*)\s`
至于替代品呢

{name:$1, value:$2, description:"$3"},\n

原来我用这个页面是愚蠢的:P你是怎么做到的?我粘贴了链接,点击了加载按钮,但它显示有0个表…没有问题。使用ChromeDevTools复制整个表,并将代码粘贴到
test.html
中,它将处理其余部分。关于值字段,您可以只使用生成的JSON对象作为起点,无论如何,最好更新这些值字段,而不是编写整个内容……)我的意思是这家伙只是处理纯文本(没有html源代码)。这只是用换行符粘贴每个单元格。。。我正在浏览分机,有一些已经在做了。