Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
另一个javascript复制问题_Javascript - Fatal编程技术网

另一个javascript复制问题

另一个javascript复制问题,javascript,Javascript,原始json var json = [{ "LABEL":"foo1", "DATA":340020, "BAR":235 }, { "LABEL":"foo2", "DATA":140084, "BAR":330 }, { "LABEL":"fooN", "DATA":126489, "BAR":120 }]; 在所需格式下方,其中新的数据对应于旧的条 [{ "LABEL":"foo1", "DATA":235 }, { "LABEL":"foo2", "DAT

原始json

var json = 
  [{ "LABEL":"foo1", "DATA":340020, "BAR":235 },
   { "LABEL":"foo2", "DATA":140084, "BAR":330 },
   { "LABEL":"fooN", "DATA":126489, "BAR":120 }];

在所需格式下方,其中新的
数据
对应于旧的

  [{ "LABEL":"foo1", "DATA":235 },
   { "LABEL":"foo2", "DATA":330 },
   { "LABEL":"fooN", "DATA":120 }];

没什么特别的花哨。我会使用嵌套循环:

var index, jBar, obj;

jBar = [];
for (index = 0; index < json.length; ++index) {
    obj = json[index];
    jBar[index] = {LABEL: obj.LABEL, DATA: obj.BAR};
}
var指数,jBar,obj;
jBar=[];
for(索引=0;索引
以上要点:

  • 使用
    []
    创建新的空白数组以分配给
    jBar
  • 使用老式的索引循环(而不是
    for..in
    ,)在
    json
    数组中循环
  • 使用对象文本(
    {…}
    )创建要放入
    jBar
    的条目
  • 通过分配到下一个可用插槽,将它们添加到jBar。您可以使用
    jBar.push({…})相反,但令人惊讶的是,它在一些平台上速度较慢,这一点非常清楚,所以

    • 没有什么特别的花哨。我会使用嵌套循环:

      var index, jBar, obj;
      
      jBar = [];
      for (index = 0; index < json.length; ++index) {
          obj = json[index];
          jBar[index] = {LABEL: obj.LABEL, DATA: obj.BAR};
      }
      
      var指数,jBar,obj;
      jBar=[];
      for(索引=0;索引
      以上要点:

      • 使用
        []
        创建新的空白数组以分配给
        jBar
      • 使用老式的索引循环(而不是
        for..in
        ,)在
        json
        数组中循环
      • 使用对象文本(
        {…}
        )创建要放入
        jBar
        的条目
      • 通过分配到下一个可用插槽,将它们添加到jBar。您可以使用
        jBar.push({…})相反,但令人惊讶的是,它在一些平台上速度较慢,这一点非常清楚,所以
      var i;
      var json=
      [{“LABEL”:“foo1”,“DATA”:340020,“BAR”:235},
      {“LABEL”:“foo2”,“DATA”:140084,“BAR”:330},
      {“LABEL”:“fooN”,“DATA”:126489,“BAR”:120}];
      var jBar=
      [{“标签”:“foo1”,“数据”:235},
      {“标签”:“foo2”,“数据”:330},
      {“LABEL”:“fooN”,“DATA”:120}];
      对于(VarI=0;i
      VarI;
      var json=
      [{“LABEL”:“foo1”,“DATA”:340020,“BAR”:235},
      {“LABEL”:“foo2”,“DATA”:140084,“BAR”:330},
      {“LABEL”:“fooN”,“DATA”:126489,“BAR”:120}];
      var jBar=
      [{“标签”:“foo1”,“数据”:235},
      {“标签”:“foo2”,“数据”:330},
      {“LABEL”:“fooN”,“DATA”:120}];
      

      对于(var i=0;i您正在将数组属性设置为未定义的值。JSON.stringify忽略数组的其他属性

      您正在将数组属性设置为未定义的值。JSON.stringify忽略数组的其他属性

      请尽量精确。
      jBar.DATA
      不存在。除此之外,
      jBar.DATA
      属性es从
      json.BAR
      属性中获取其值。@Eric:不,这是一个没有详细说明您要做什么的问题。阅读这个问题很容易,也不会理解
      数据
      BAR
      的区别。在文本中包含一句说明您的目标是什么的句子并不重要,它可以帮助人们帮助您。请尽量保持沉默精确。
      jBar.DATA
      不存在。除此之外,
      jBar.DATA
      属性从
      json.BAR
      属性获取它们的值。@Eric:不,这是一个没有详细说明您试图做什么的问题。阅读这个问题非常容易,而且不会捕捉到
      DATA
      BAR
      的对比。一句话在文本中显示您的目标是什么并不重要,而且有助于人们帮助您。可以使用索引代替jBar.length。在某些浏览器中,递减while循环可能更快:
      var i=json.length;while(i--){obj=json[i];jBar[i]=…;}
      @RobG:您一定在查看旧的副本,我几乎立即更改了它。:)啊,是的!所有这些AJAX的东西都有问题,页面不总是正确更新。@RobG:Re递减循环:我在几年前测试过,发现在某些浏览器(Firefox 3.IIRC)中速度明显较慢与其他人相比,它并没有明显快一些。不像,C或C++中的等效循环,这将是标准的实践。@ RoGG:如果结果仍然是相同的,那么好奇:Chrome在减量循环中更快,但是我担心其他浏览器中的性能更差。-)Firefox确实减慢了IE7。(我手头的)与缓存的长度增量循环差不多。所有这些都可能是过早的优化。:-)可以使用索引代替jBar.length。在某些浏览器中,递减while循环可能更快:
      var I=json.length;而(I-){obj=json[I];jBar[I]=…;}
      @RobG:你一定在看一本旧的,我几乎马上就把它改了。:)啊,是的!所有这些AJAX的东西都有一个问题,页面并不总是正确更新。@RobG:Re the Decrenting loop:几年前我测试过,发现在某些浏览器(Firefox 3.something IIRC)中速度明显较慢,而在其他浏览器中则没有明显加快。与C或C++中的等效循环不同,在这里,这将是标准的实践。@ RoG:如果这些结果仍然是相同的,那么好奇:Chrome在减量循环中更快,但我担心在其他浏览器中的性能更高。Firefox的速度确实较慢,IE7(我手边的)与缓存的长度增量循环差不多。无论如何,所有这些都可能是过早的优化。:-)我在问题设置中没有看到任何未定义属性,也没有使用
      JSON.stringify
      。我在你的问题中没有看到这方面的问题-“jBar是JSON的一个副本,但它应该如何实现?”@Andrey:我把它理解为“如何用
      JSON
      创建类似于
      jBar
      的东西?”我在问题设置中没有看到任何未定义的属性,也没有使用
      JSON.stringify
      。我在你的问题中没有看到任何关于这个问题的问题--