প্রশ্ন 1 এবং 2
সুতরাং মূলত, প্রথম প্যারামিটারটি পুনরাবৃত্তি করার অবজেক্ট। এটি কোনও অ্যারে বা কোনও বস্তু হতে পারে। এটি যদি এর মতো কোনও বস্তু হয়:
var values = {name: 'misko', gender: 'male'};
কৌণিক প্রতিটি মান এক এক করে গ্রহণ করবে প্রথমটির নাম নাম, দ্বিতীয়টি লিঙ্গ is
যদি আপনার পুনরুক্তি করা অবজেক্টটি একটি অ্যারে হয় তবে (এটিও সম্ভব) এটির মতো:
[{ "Name" : "Thomas", "Password" : "thomasTheKing" },
{ "Name" : "Linda", "Password" : "lindatheQueen" }]
Angular.forEach প্রথম অবজেক্ট দ্বারা শুরু করে একের পর এক গ্রহণ করবে, তারপরে দ্বিতীয় বস্তু।
এই বস্তুর প্রতিটি জন্য, এটি তাদের এক এক করে গ্রহণ করবে এবং প্রতিটি মানের জন্য একটি নির্দিষ্ট কোড কার্যকর করবে। এই কোডটিকে পুনরাবৃত্তি ফাংশন বলা হয় । যদি আপনি কোনও সংগ্রহের অ্যারে ব্যবহার করে থাকেন তবে প্রত্যেকটি স্মার্ট এবং আলাদা আচরণ করে। এখানে কিছু উদাহরণ রয়েছে:
var obj = {name: 'misko', gender: 'male'};
var log = [];
angular.forEach(obj, function(value, key) {
console.log(key + ': ' + value);
});
// it will log two iteration like this
// name: misko
// gender: male
সুতরাং কী আপনার কীগুলির স্ট্রিং মান এবং মানটি ... মান। আপনি এই জাতীয় মানটি অ্যাক্সেস করতে কীটি ব্যবহার করতে পারেন:obj['name'] = 'John'
এবার আপনি যদি কোনও অ্যারে প্রদর্শন করেন তবে এটির মতো:
var values = [{ "Name" : "Thomas", "Password" : "thomasTheKing" },
{ "Name" : "Linda", "Password" : "lindatheQueen" }];
angular.forEach(values, function(value, key){
console.log(key + ': ' + value);
});
// it will log two iteration like this
// 0: [object Object]
// 1: [object Object]
সুতরাং মান হ'ল আপনার অবজেক্ট (সংগ্রহ), এবং কী আপনার অ্যারের সূচক তাই থেকে:
[{ "Name" : "Thomas", "Password" : "thomasTheKing" },
{ "Name" : "Linda", "Password" : "lindatheQueen" }]
// is equal to
{0: { "Name" : "Thomas", "Password" : "thomasTheKing" },
1: { "Name" : "Linda", "Password" : "lindatheQueen" }}
আমি এটি আপনার প্রশ্নের উত্তর আশা করি। আপনি চাইলে কিছু কোড এবং পরীক্ষা চালানোর জন্য এখানে একটি জেএসফিডেল দেওয়া হয়েছে: http://jsfiddle.net/ygahqdge/
আপনার কোডটি ডিবাগ করছে
সমস্যাটি সত্য থেকে আসা বলে মনে হচ্ছে $http.get()
এটি একটি অ্যাসিনক্রোনাস অনুরোধ।
তুমি তোমার ছেলে একটি ক্যোয়ারী প্রেরণ তাহলে যখন আপনি ব্রাউজার শেষ ডাউনলোড করার এটা সাফল্য চালানো। কিন্তু আপনার অনুরোধ প্রেরণের ঠিক পরে angular.forEach
আপনার জেএসএনের উত্তরের অপেক্ষা না করে আপনার লুপটি সম্পাদন করুন ।
সাফল্যের ফাংশনে আপনাকে লুপটি অন্তর্ভুক্ত করতে হবে
var app = angular.module('testModule', [])
.controller('testController', ['$scope', '$http', function($scope, $http){
$http.get('Data/info.json').then(function(data){
$scope.data = data;
angular.forEach($scope.data, function(value, key){
if(value.Password == "thomasTheKing")
console.log("username is thomas");
});
});
});
এই কাজ করা উচিত.
আরও গভীরভাবে যাচ্ছি
$ HTTP এপিআই উপর ভিত্তি করে তৈরি ডেফার্ড / API গুলি প্রতিজ্ঞা $ কুই পরিষেবা দ্বারা উন্মুক্ত। সাধারণ ব্যবহারের নিদর্শনগুলির জন্য এটি খুব বেশি গুরুত্বপূর্ণ নয়, উন্নত ব্যবহারের জন্য এই API গুলি এবং তারা যে গ্যারান্টি দিয়ে থাকে তার সাথে নিজেকে পরিচিত করা গুরুত্বপূর্ণ।
আপনি বিলম্বিত / প্রতিশ্রুত এপিআইগুলিতে একবার নজর দিতে পারেন , মসৃণ অ্যাসিক্রোনাস ক্রিয়া করা অ্যাঙ্গুলারের একটি গুরুত্বপূর্ণ ধারণা।
success
ঘটনার জন্য অপেক্ষা করছেন না$http.get()
, এইভাবে যখনangular.forEach()
ঘটে$scope.data
তখনও অপরিজ্ঞাত।