444 Stimmen

Wie ändert man den Wert eines Objekts, das sich innerhalb eines Arrays befindet, mit JavaScript oder jQuery?

Der folgende Code stammt aus jQuery UI Autocomplete:

var projects = [
    {
        value: "jquery",
        label: "jQuery",
        desc: "the write less, do more, JavaScript library",
        icon: "jquery_32x32.png"
    },
    {
        value: "jquery-ui",
        label: "jQuery UI",
        desc: "the official user interface library for jQuery",
        icon: "jqueryui_32x32.png"
    },
    {
        value: "sizzlejs",
        label: "Sizzle JS",
        desc: "a pure-JavaScript CSS selector engine",
        icon: "sizzlejs_32x32.png"
    }
];

Ich möchte zum Beispiel die desc Wert von jquery-ui . Wie kann ich das tun?

Gibt es außerdem eine schnellere Möglichkeit, die Daten zu erhalten? Ich meine, geben Sie dem Objekt einen Namen, um seine Daten zu holen, genau wie das Objekt innerhalb eines Arrays? Es wäre also etwas wie jquery-ui.jquery-ui.desc = ....

-2voto

Vinod kumar Punkte 1

Sie möchten den Wert von array[2] = "data"

    for(i=0;i<array.length;i++){
      if(i == 2){
         array[i] = "data";
        }
    }

-2voto

let thismoth = moment(new Date()).format('MMMM');
months.sort(function (x, y) { return x == thismoth ? -1 : y == thismoth ? 1 : 0; });

-2voto

Sanjay Bharwani Punkte 2105

Dies ist meine Antwort auf dieses Problem. Meine Unterstrich-Version war 1.7, daher konnte ich nicht verwenden .findIndex .

Also habe ich den Index des Elements manuell ermittelt und ersetzt. Hier ist der Code für das gleiche.

 var students = [ 
{id:1,fName:"Ajay", lName:"Singh", age:20, sex:"M" },
{id:2,fName:"Raj", lName:"Sharma", age:21, sex:"M" },
{id:3,fName:"Amar", lName:"Verma", age:22, sex:"M" },
{id:4,fName:"Shiv", lName:"Singh", age:22, sex:"M" }
               ]

Bei der folgenden Methode wird der Student ersetzt durch id:4 mit mehr Attributen im Objekt

function updateStudent(id) {
 var indexOfRequiredStudent = -1;
    _.each(students,function(student,index) {                    
      if(student.id === id) {                        
           indexOfRequiredStudent = index; return;      
      }});
 students[indexOfRequiredStudent] = _.extend(students[indexOfRequiredStudent],{class:"First Year",branch:"CSE"});           

}

Mit underscore 1.8 wird dies vereinfacht, da wir Methoden haben _.findIndexOf .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X