相关疑难解决方法(0)

Javascript:迭代对象的值

我想迭代地图的所有值.我知道可以迭代所有键.但是可以直接迭代值吗?

 var map = { key1 : 'value1', key2 : 'value2' }
 for (var key in map) { ...} // iterates over keys
Run Code Online (Sandbox Code Playgroud)

javascript dictionary

50
推荐指数
4
解决办法
9万
查看次数

解析HTML表的JSON对象

我试图显示基于JSON数据的"排行榜"表.

我已经阅读了很多关于JSON格式并克服了一些初步障碍,但我的Javascript知识非常有限,我需要帮助!

基本上我的JSON数据看起来像这样:

[{"User_Name":"John Doe","score":"10","team":"1"},{"User_Name":"Jane Smith","score":"15","team":"2"},{"User_Name":"Chuck Berry","score":"12","team":"2"}]
Run Code Online (Sandbox Code Playgroud)

我需要的是能够遍历这个数组,为每个对象生成一个表行或列表项.数组中将有未知数量的总对象,但每个对象具有相同的格式 - 三个值:Name,Score,Team.

到目前为止,我使用了以下代码,确认我已成功加载控制台中的对象 -

$.getJSON(url,
function(data){
  console.log(data);
});
Run Code Online (Sandbox Code Playgroud)

但我不知道如何迭代它们,将它们解析为HTML表格.

下一步是按降序按分数对条目进行排序...

任何帮助将非常感激.谢谢!

编辑:

下面更新了代码,这有效:

$.getJSON(url,
function (data) {
    var tr;
    for (var i = 0; i < data.length; i++) {
        tr = $('<tr/>');
        tr.append("<td>" + data[i].User_Name + "</td>");
        tr.append("<td>" + data[i].score + "</td>");
        tr.append("<td>" + data[i].team + "</td>");
        $('table').append(tr);
    }
});
Run Code Online (Sandbox Code Playgroud)

($ .parseJSON不是必需的,我们可以使用'data',因为我已经解析了JSON数组)

html javascript arrays jquery json

41
推荐指数
3
解决办法
21万
查看次数

JavaScript迭代json的键和值?

我试图迭代以下json:

{
"VERSION" : "2006-10-27.a",
"JOBNAME" : "EXEC_",
"JOBHOST" : "Test",
"LSFQUEUE" : "45",
"LSFLIMIT" : "2006-10-27",
"NEWUSER" : "3",
"NEWGROUP" : "2",
"NEWMODUS" : "640"
}
Run Code Online (Sandbox Code Playgroud)

这里的关键是动态的.我想要两个键=?和价值=?

javascript arrays json

36
推荐指数
2
解决办法
5万
查看次数

Apache 301重定向并保留发布数据

我已经使用Apache 301重定向将SEO URL实现到网站根目录中的"redirect.cfm",该网站处理所有URL构建和内容交付.

在301重定向期间,发布数据会丢失.

到目前为止还无法找到解决方案,尝试从重写中排除post方法 - 最坏的情况我们可以使用旧类型的URL来进行post方法.

有什么可以做的吗?

谢谢

apache rewrite http-post http-status-code-301

24
推荐指数
2
解决办法
4万
查看次数

确定JavaScript语法在ACE的更改处理程序中是否有效

我正在使用ACE编辑器进行交互式JavaScript编辑.当我将编辑器设置为JavaScript模式时,ACE会自动确定代码是否有效,并且错误消息和行号不会突出显示.

change事件处理程序期间,我想在我尝试之前检测ACE是否认为代码有效eval().我认为我可以这样做的唯一方法是:

var jsMode = require("ace/mode/javascript").Mode;
var editor = ace.edit('mycode'), edEl = document.querySelector('#mycode');
editor.getSession().setMode(new jsMode);
editor.getSession().on('change',function(){
  // bail out if ACE thinks there's an error
  if (edEl.querySelector('div.ace_gutter-cell.ace_error')) return;
  try{
    eval(editor.getSession().getValue());
  }catch(e){}
});
Run Code Online (Sandbox Code Playgroud)

然而:

  1. 借助特定类在UI中存在元素似乎非常脆弱,但更重要的是,
  2. 发生解析视觉更新change回调发生.

因此,我实际上必须等待超过500毫秒(JavaScript工作人员开始之前的延迟):

editor.getSession().on('change',function(){
  setTimeout(function(){
    // bail out if ACE thinks there's an error
    if (edEl.querySelector('div.ace_gutter-cell.ace_error')) return;
    try{
      eval(editor.getSession().getValue());
    }catch(e){}
  },550); // Must be longer than timeout delay in javascript_worker.js
});
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法,在JS模式的未记录的API中,询问是否有任何错误?

javascript ace-editor

23
推荐指数
2
解决办法
1万
查看次数

Javascript:迭代JSON对象

我有一个我想要迭代的JSON对象.

"phone": {
    "Samsung": {
        "type": "S7"
    },
    "iPhone": {
        "type": "6S"
    },
    "Google": {
        "type": "Pixel"
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用Object.key这些值映射每个值,我认为这是使用对象的正确方法:

render() {
    //this.props.phone contains the objects "Samsung", "iPhone", and "Google"
    return (
        Object.keys(this.props.phones).map((type) => {
            console.log(type)
            return (
                <p>Type of phone: {type}</p>
            )
        })
    )
} 
Run Code Online (Sandbox Code Playgroud)

但是,console.log当我期待一个对象返回时,上面的内容会返回:

在此输入图像描述

为什么它返回一个值,而不是一个对象?

javascript ecmascript-6 reactjs

21
推荐指数
2
解决办法
2万
查看次数

在类类型属性中循环的Typescript

如何在TypeScript中循环遍历类的属性?以下面的类为例:

export class Task implements Itask {
  public Id: number = 0;
  public Name: string;
  public Description: string;
  public Completed: boolean = false;
  public TaskType: TaskType;
}
Run Code Online (Sandbox Code Playgroud)

我想检索属性,因此:["Id","Name","Description","Completed","TaskType"]

试着

GetTaskHeaders = () => {
  const _self = this;
  const tHead = $('<thead />').append('<tr />');

  for (let i = 0; typeof TodoApp.Task.arguments; i++) {
    const th = $('<th />');
    th.append(TodoApp.Task.arguments[i]);
    tHead.append(th);
  }

  console.log(tHead);

  return tHead;
};  
Run Code Online (Sandbox Code Playgroud)

不幸的是没有成功,我知道使用"TodoApp.Task.arguments"是不正确的.但是,有人能告诉我正确的方法吗?

reflection typescript

19
推荐指数
2
解决办法
3万
查看次数

Jquery $ .post() - 可以做一整页的帖子请求吗?

我知道我可以使用jQuery和$.post()语法进行带外Post请求.但是,我很想知道jQuery是否可能在整个页面上引发发布请求(就像提交表单时那样),以便加载一个全新的页面.这可能吗?

DOM中没有表单元素,因此我无法执行form.submit().

jquery post

16
推荐指数
2
解决办法
8034
查看次数

JavaScript数组到URLencoded

是否有任何js函数将数组转换为urlencoded?我是JS的全新人......谢谢!...


我的数组是一个键和值数组....所以,

myData=new Array('id'=>'354313','fname'=>'Henry','lname'=>'Ford');
Run Code Online (Sandbox Code Playgroud)

是相同的

myData['id']='354313';
myData['fname']='Henry';
myData['lname']='Ford';
myData.join('&'); //returns error, it doesn't work on such array...
Run Code Online (Sandbox Code Playgroud)

有什么办法吗?


哦,sory ...我有一个像这样的阵列

var myData=new Array('id'=>'354313','fname'=>'Henry','lname'=>'Ford');
Run Code Online (Sandbox Code Playgroud)

然后我需要转换为的数组:

id=354313&fname=Henry&lname=Ford
Run Code Online (Sandbox Code Playgroud)

javascript urlencode

12
推荐指数
5
解决办法
4万
查看次数

javascript中的HashMap对象

可能重复:
循环访问JavaScript对象
获取对象键的数组

有没有办法在javascript中使用hashmaps.我发现这个页面显示了在javascript中使用hashmaps的一种方法.基于此我将数据存储如下:

var map = new Object();
map[myKey1] = myObj1;
map[myKey2] = myObj2;

function get(k) {
   return map[k];
}
Run Code Online (Sandbox Code Playgroud)

但我想要对象的keySet(所有键)map就像在Java(map.keySet();)中完成一样.

任何人都可以告诉我如何获得此对象中的所有键?

javascript

12
推荐指数
1
解决办法
3万
查看次数