মানচিত্রের ভিতরে সূচক () ফাংশন


291

আমি একটি বিকল্প কিভাবে ভিতরে সূচক নম্বর পেতে অনুপস্থিত করছি mapব্যবহার ফাংশন Listথেকে Immutable.js:

var list2 = list1.map(mapper => { a: mapper.a, b: mapper.index??? }).toList();

ডকুমেন্টেশন দেখায় যে map()ফিরে আসে Iterable<number, M>। আমার যা প্রয়োজন তা কি কোনও মার্জিত উপায় আছে?


1
আপনি যা চান তা স্পষ্ট নয়।
zerkms

মনে রাখবেন যে mapঅ্যারের কাঠামোটি সংরক্ষণ করার কথা, যা কেবলমাত্র এর মানগুলি অ্যারে নিজেই পরিবর্তিত হওয়া উচিত।

উত্তর:


530

আপনি এর দ্বিতীয় প্যারামিটারের মাধ্যমে পদ্ধতির indexজন্য বর্তমান পুনরাবৃত্তি পেতে সক্ষম হবেন map

উদাহরণ:

const list = [ 'h', 'e', 'l', 'l', 'o'];
list.map((currElement, index) => {
  console.log("The current iteration is: " + index);
  console.log("The current element is: " + currElement);
  console.log("\n");
  return currElement; //equivalent to list[index]
});

আউটপুট:

The current iteration is: 0 <br>The current element is: h

The current iteration is: 1 <br>The current element is: e

The current iteration is: 2 <br>The current element is: l

The current iteration is: 3 <br>The current element is: l 

The current iteration is: 4 <br>The current element is: o

আরও দেখুন: https://developer.mozilla.org/docs/Web/JavaScript/ উল্লেখ / গ্লোবাল_অবজেক্টস / অ্যারে / ম্যাপ

পরামিতি

কলব্যাক - তিনটি আর্গুমেন্ট গ্রহণ করে এমন ফাংশন যা নতুন অ্যারের উপাদান তৈরি করে:

1) কারেন্টভ্যালু
বর্তমান উপাদানটি অ্যারেতে প্রক্রিয়াজাত করা হচ্ছে।

2) সূচক
অ্যারেতে প্রক্রিয়াধীন বর্তমান উপাদানটির সূচক।

3) অ্যারে
অ্যারের মানচিত্রটি আহ্বান করা হয়েছিল।


মানচিত্রের কলব্যাক ফাংশনে সর্বদা রিটার্নের বিবৃতি থাকা উচিত? আপনার কোডে 'এক্স' এর অর্থ কী?
হর্ষ_ কে

1
@ হর্ষকঞ্চিনা mapঅপারেশনটি একটি প্রদত্ত অ্যারের উপাদানগুলির মাধ্যমে পুনরাবৃত্তি করে একটি নতুন অ্যারে তৈরির জন্য ব্যবহার করা হয়। আপনার প্রশ্নের উত্তর দেওয়ার জন্য, হ্যাঁ একটি রিটার্ন বিবৃতি প্রয়োজন, এবং এই ক্ষেত্রে এটি প্রতিটি পুনরাবৃত্তির জন্য 'এক্স' মানটি ফিরিয়ে দিচ্ছে। সুতরাং কোডের চূড়ান্ত পণ্যটি হবে[ 'X', 'X','X','X' ]
স্যামুয়েল তোহ

@ তবে 'এক্স' কোথাও সংজ্ঞায়িত হয়নি। সুতরাং এটি কি উল্লেখ করা হয়? ফাংশনটি কীভাবে জানতে পারে যে এক্স এখানে কী বোঝায়?
হর্ষ_কে

3
@ হর্ষকঞ্চিনা 'X'একটি স্ট্রিং।
স্যামুয়েল তোহ

আমি এই সূচকটি 1 দিয়ে শুরু করতে চাই, আমি কীভাবে এটি অর্জন করতে পারি?
রিমা পরখ

27

Array.prototype.map() সূচক:

Array.prototype.map()কলব্যাক ফাংশনের দ্বিতীয় যুক্তির মাধ্যমে সূচকটি অ্যাক্সেস করা যায় । এখানে একটি উদাহরণ:

const array = [1, 2, 3, 4];


const map = array.map((x, index) => {
  console.log(index);
  return x + index;
});

console.log(map);

এর অন্যান্য যুক্তি Array.prototype.map():

  • কলব্যাক ফাংশনের তৃতীয় আর্গুমেন্টটি অ্যারেটি প্রকাশ করে যেখানে মানচিত্রে ডাকা হয়েছিল
  • দ্বিতীয় আর্গুমেন্টটি Array.map()এমন একটি বস্তু যা thisকলব্যাক ফাংশনের মান হবে । মনে রাখবেন যে কলব্যাকটি ঘোষণার জন্য আপনাকে নিয়মিত functionকীওয়ার্ডটি ব্যবহার করতে হবে যেহেতু একটি তীর ফাংশনের thisকীওয়ার্ডটির নিজস্ব বাঁধাই নেই ।

উদাহরণ স্বরূপ:

const array = [1, 2, 3, 4];

const thisObj = {prop1: 1}


const map = array.map( function (x, index, array) {
  console.log(array);
  console.log(this)
}, thisObj);


2

রামদা ব্যবহার:

import {addIndex, map} from 'ramda';

const list = [ 'h', 'e', 'l', 'l', 'o'];
const mapIndexed = addIndex(map);
mapIndexed((currElement, index) => {
  console.log("The current iteration is: " + index);
  console.log("The current element is: " + currElement);
  console.log("\n");
  return 'X';
}, list);
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.