3.8 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			3.8 KiB
		
	
	
	
	
	
	
	
title
| title | 
|---|
| Work with Data in D3 | 
Work with Data in D3
 Remember to use
 Remember to use Read-Search-Ask if you get stuck. Try to pair program  and write your own code
 and write your own code 
Problem Explanation:
This challenge uses the select, selectAll, append, and text methods seen in previous challenges. It adds 2 new D3 methods: data and enter to target the given data and display an element on the page for each datum
Relevant Links
From the official D3 documentation:
 Hint: 1
 Hint: 1
- After selecting the correct HTML nodes, use the datamethod with thedatasetvariable passed as an argument to make the D3 object aware of the data
try to solve the problem now
 Hint: 2
 Hint: 2
- Use the entermethod to ensure that your HTML document has enough elements of the type you specified inselectAllfor each datum
try to solve the problem now
 Hint: 3
 Hint: 3
- Now that the D3 object is aware of your data and has created enough elements for each datum, appendthe elements of the specified type and add thetextrequired in the instructions
try to solve the problem now
Spoiler Alert!
Solution ahead!
 Basic Code Solution:
 Basic Code Solution:
<body>
  <script>
    const dataset = [12, 31, 22, 17, 25, 18, 29, 14, 9];
    
    d3.select('body').selectAll('h2')
      .data(dataset)
      .enter()
      .append('h2')
      .text('New Title');
    
  </script>
</body>    
Code Explanation:
- d3targets the D3 object
- select('body')is used to- selectthe 'body' element of the HTML document
- selectAll('h2')is used to- selectAllof the 'h2' elements that are children to 'body'
- data(dataset)calls the D3- datamethod and uses the given dataset as an argument
- enter()uses the D3- entermethod to check the current number of elements selected and create any missing ones according to the amount needed by the dataset
- append('h2')takes these newly created elements from- enterand ensures they are created as 'h2' elements
- text('New Title')changes the text of every element selected to 'New Title'
- The dataset contains 9 datum, so the final solution should show 9 'h2' elements with the text 'New Title'


