다음 형식으로 개체에 값을 저장했습니다.
$scope.modelName = {
name: {}
};
값은처럼 저장되었습니다 {"APLLE":true,"ORANGE":true}
. 키만 가져 오려고하고 for 루프를 사용하여 다른 개체에 저장하려고합니다. 나는 가치를 얻을 수 없었다
for (var i = 0; i < 2 ; i++) {
$scope.fruitRulesRules.push({
field: "fruitName",
subType: "equals",
value: Object.Keys($scope.modelName.name[i])
});
}
미리 감사드립니다.
Object.keys()
객체의 키 배열을 반환합니다. 루핑을 인덱싱 할 키를 선택해야합니다. 당신은 가까웠지만 시가는 없었습니다.
바이올린 참조 : http://jsfiddle.net/pzky9owf/1/
var modelName = {
name: {
APPLE: true,
ORANGE: true
}
},
fruitRulesRules = [];
for (var i = 0; i < 2; i++) {
fruitRulesRules.push({
field: 'fruitName',
subType: 'equals',
/*
This bit was close. You could could also cache the Object.keys in
another variable so its not called in every itteration of the loop if it doesnt change often
*/
name: Object.keys(modelName.name)[i]
});
}
console.log(fruitRulesRules);
편집 : 또한 당신은 Object.Keys
, 자본 K
, 그 소문자를 가지고 k
있지만 그것이 바이올린을 쓰는 오타라고 가정합니다.
다시 편집 : @KrzysztofSafjanowski가 다른 의견에서 언급했듯이 Object.keys()
위의 작업이 원하는 결과를 얻지 못할 수도 있으므로 순서를 보장 할 수 없습니다 .
필자는 키 순서가 중요하지 않은 다른 방식을 보여주기 위해 바이올린을 업데이트했습니다. http://jsfiddle.net/pzky9owf/2/
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다