相关疑难解决方法(0)

访问对象内部的数组

 var b = {
  maths:[12,23,45],
  physics:[12,23,45],
  chemistry:[12,23,45]
};
Run Code Online (Sandbox Code Playgroud)

我想访问对象 b 中的数组。即数学、物理、化学。这可能是一个简单的问题,但我正在学习......谢谢

javascript arrays

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

JavaScript 数组排序与动态列

我有一些使用 JavaScript 数组排序的代码可以工作,但似乎效率很低。

出于示例目的,我定义了一个对象数组,如下所示

dummyData = [];
dummyData.push({ col01:"aa", col02:"ac", col03:"ab" });
dummyData.push({ col01:"ab", col02:"ab", col03:"ac" });
dummyData.push({ col01:"ac", col02:"aa", col03:"aa" });
Run Code Online (Sandbox Code Playgroud)

然后我可以使用这样的函数对 col01 进行排序

function f_sort_col01(dataArg) {

   dataArg.sort(function(res01, res02) {
      var arg01 = res01.col01.toLowerCase();
      var arg02 = res02.col01.toLowerCase();
      if(arg01 < arg02) { return -1; }
      if(arg01 > arg02) { return 1; }
      return 0;
   });

   return dataArg;

}
Run Code Online (Sandbox Code Playgroud)

这工作得很好,但问题是当我需要对不同的列进行排序时,我必须创建一个像这样的全新函数

function f_sort_col02(dataArg) {

   dataArg.sort(function(res01, res02) {
      var arg01 = res01.col02.toLowerCase();
      var arg02 = res02.col02.toLowerCase();
      if(arg01 < arg02) { return -1; …
Run Code Online (Sandbox Code Playgroud)

javascript arrays sorting function object

4
推荐指数
1
解决办法
1118
查看次数

如何将对象属性作为参数传递?

例如,假设我使用节点分类来实现此功能:

function example(){

var exampleVar = nodes.classfication;

//below i use exampleVar to do calculations
.
.
.
.
}
Run Code Online (Sandbox Code Playgroud)

但有时候说我想获得节点状态,所以我这样做:

function example(){

    var exampleVar = nodes.status;

    //below i use exampleVar to do calculations
    .
    .
    .
    .
    }
Run Code Online (Sandbox Code Playgroud)

我不想重复代码(在我的代码中)我想要重用的函数中有很多代码.因此,根据我想要从这个函数中获取的内容,我将它传递给函数,如下所示:

function example(thisAttribute){

    var exampleVar = nodes.thisAttribute; //using the variable passed to the function

    //below i use exampleVar to do calculations
    .
    .
    .
    .
    }
Run Code Online (Sandbox Code Playgroud)

这不起作用,我如何将对象属性作为参数传递给函数?我试过在网上看,但我不认为我正在寻找正确的东西,因为我找不到任何帮助.无论如何,提前谢谢:)

javascript jquery

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

为什么有时使用点表示法访问对象属性会返回未定义?

我编写的这个 for-in 循环为所有对象属性打印“未定义”值:

let user = {
  id: 1,
  name: "Some name"
};
for (let prop in user)
  console.log(prop + ": " + user.prop);
Run Code Online (Sandbox Code Playgroud)

控制台输出:

id: undefined
name: undefined
Run Code Online (Sandbox Code Playgroud)

javascript

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

使用JSON将PHP Array转换为jQuery数组.($ .post,parseJSON,json_encode)

我试图获得一个PHP文件设置,以从jQuery AJAX调用返回MySQL数据库查询的结果.返回的结果将是一个数组.我有一个非常基本的开始,我只是在php文件中来回获取一些基本数据,但我遇到了一些基本的语法问题:

PHP代码:

$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);  
echo json_encode($arr); 
Run Code Online (Sandbox Code Playgroud)

jQuery代码:

$.post("dbFile.php", str, function(theResponse){
     alert('the response: ' + theResponse);
     var obj = $.parseJSON(theResponse);
     alert(obj.a);
Run Code Online (Sandbox Code Playgroud)

我可以打印出obj.a,obj.b,obj.c ......没问题.问题是当我增加MySQL结果时,我将递增一个计数器.所以,数组不使用字母,它使用数字:

$arr[$i] = mysqlresults ... $i++;
Run Code Online (Sandbox Code Playgroud)

所以,在JavaScript/jQuery中我有一个对象(不是数组).我可以打印出obj.a例如,但我不能打印出obj.2(例如).换句话说,如果我用php数组中的数字替换字母,我不知道如何在JavaScript/jQuery中打印它们.我可以以某种方式更改parseJSON返回到数组的对象(以便我可以循环它)吗?

php jquery json

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

localStorage["something"] 与 localStorage.something

可能的重复:
JavaScript 属性访问:点符号与括号?

我是 chrome 扩展的新手。我知道 Java,但 Javascript 是完全不同的东西。

我想问一下localStorage["something"]和 和有localStorage.something什么不一样?

方括号与点。

javascript local-storage

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

你用这个代码做了什么?

我目前正在开展塔防游戏,我目前正在实施不同的塔.我正在寻找一种方法来设置预定义的值,如配置文件,我可以在构建时提取不同塔的不同值.

我一直在搜索,我遇到了一些看起来像这样的代码:

var  building_attributes  =  {
        "Wall" :  {
            Damage :  0 ,
            RANGe :  0
            speed :  0
            bullet_speed :  0
            life :  100 ,
            Shield :  500 ,
            cost :  5
        }
 };
Run Code Online (Sandbox Code Playgroud)

如果我实现了这个,那我怎么能访问不同的值呢?或者也许有人在我的问题上有一个很好的解决方案.

所有答案都很有用.:)

javascript html-table map easeljs createjs

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

从函数中访问javascript对象

为什么先工作而不是后者?*它只有一个小的区别,在后一种情况下,我使用速记来访问猫对象属性.我读到如果"属性的名称将是一个有效的变量名称 - 当它没有任何空格或符号并且不以数字字符开头时"它应该没有任何区别.

    //this works 
    var cats = {Spot:true};

    function addCat (name) {   cats[name] = true; }

    addCat("white");

    console.log ("white" in cats);  //true

    console.log (cats.white); //true
Run Code Online (Sandbox Code Playgroud)
    //this doesn't work 
    var cats = {Spot:true};

    function addCat (name) {   cats.name = true; }

    addCat("white");

    console.log ("white" in cats); //false

    console.log (cats.white); //undefined
Run Code Online (Sandbox Code Playgroud)

javascript object javascript-objects

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

jQuery数组设置键和值,并通过AJAX发送数组

我想将键值对发送到我的php页面,但我需要从数据标签中动态设置键值.

这是我到目前为止的代码:

function send(){
    var attr = new Array();

    var key = $('#add').attr('data-key');
    var value = $('#add').attr('data-value');

    attr.push({ key : value });

    var data = {attributes: attr};

    $.ajax({
            url: "ajax.php",
            type: "POST",
            data: data,
            success: function(result) {
                alert(result)
            }
    });

}
Run Code Online (Sandbox Code Playgroud)

这不是实际代码,它只是基本功能.

问题出在这里:

attr.push({ key : value });
Run Code Online (Sandbox Code Playgroud)

'key'不是我设置的变量.

我能帮忙吗?我真的很感激.非常感谢你!

javascript arrays ajax jquery

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

在 JS 中给字典键加上引号

到目前为止,在我看到的所有教程中,字典中的项目都已初始化,如下所示:

var myObj = { foo:"bar", fooBar:"fooBaz" };
Run Code Online (Sandbox Code Playgroud)

为什么键没有被引用?它们不只是字符串吗?

如果我想在字典键中包含空格,我该怎么办?

javascript string dictionary key object

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